Fix resolution of scheme using string and not enum.

pull/3502/head
derekpierre 2024-05-15 11:05:12 -04:00
parent f10f9e463f
commit c023e924f1
No known key found for this signature in database
2 changed files with 4 additions and 4 deletions

View File

@ -21,10 +21,10 @@ class Auth:
raise NotImplementedError
@classmethod
def from_scheme(cls, scheme: AuthScheme):
if scheme == cls.AuthScheme.EIP712:
def from_scheme(cls, scheme: str):
if scheme == cls.AuthScheme.EIP712.value:
return EIP712Auth
elif scheme == cls.AuthScheme.SIWE:
elif scheme == cls.AuthScheme.SIWE.value:
return SIWEAuth
raise ValueError(f"Invalid authentication scheme: {scheme}")

View File

@ -38,7 +38,7 @@ def _recover_user_address(**context) -> ChecksumAddress:
expected_address = to_checksum_address(user_address_info["address"])
type_data = user_address_info["typedData"]
scheme = user_address_info.get("scheme", Auth.AuthScheme.EIP712)
scheme = user_address_info.get("scheme", Auth.AuthScheme.EIP712.value)
auth = Auth.from_scheme(scheme)
auth.authenticate(
data=type_data, signature=signature, expected_address=expected_address