Spaces:
Running
on
Zero
Running
on
Zero
import hmac | |
import hashlib | |
import base64 | |
def validate_signature(body: str, signature: str, secret: str) -> bool: | |
if secret is None: | |
logger.error("Secret is None") | |
return False | |
hash = hmac.new( | |
secret.encode("utf-8"), body.encode("utf-8"), hashlib.sha256 | |
).digest() | |
expected_signature = base64.b64encode(hash).decode("utf-8") | |
return hmac.compare_digest(expected_signature, signature) |