15 lines
411 B
Python
15 lines
411 B
Python
import base64
|
|
import hashlib
|
|
import hmac
|
|
|
|
|
|
def calculate_secret_hash(username: str, client_id: str, client_secret: str) -> str:
|
|
"""
|
|
Calculate the Cognito SECRET_HASH using HMAC SHA256 for secret-enabled clients.
|
|
"""
|
|
msg = username + client_id
|
|
dig = hmac.new(
|
|
client_secret.encode("utf-8"), msg.encode("utf-8"), hashlib.sha256
|
|
).digest()
|
|
return base64.b64encode(dig).decode()
|