diff --git a/siwa/library/token/payload.py b/siwa/library/token/payload.py index 8fb982c..abfc604 100644 --- a/siwa/library/token/payload.py +++ b/siwa/library/token/payload.py @@ -20,7 +20,7 @@ def __init__( expiration_time: int, nonce: Optional[str], nonce_supported: bool, - email: str, + email: Optional[str], email_verified: bool, is_private_email: Optional[bool], real_person: Optional[RealPerson] @@ -57,12 +57,10 @@ def decode(cls: Type[T], data: Dict) -> T: audience=data['aud'], issued_at=data['iat'], expiration_time=data['exp'], - nonce=data['nonce'] if 'nonce' in data else None, + nonce=data.get('nonce', None), nonce_supported=data['nonce_supported'], - email=data['email'], - email_verified=data['email_verified'], - is_private_email=data['is_private_email'] if 'is_private_email' in - data else None, - real_person=RealPerson(data['real_user_status']) if - 'real_user_status' in data else None + email=data.get('email', None), + email_verified=data.get('email_verified', False), + is_private_email=data.get('is_private_email', None), + real_person=RealPerson(data['real_user_status']) if 'real_user_status' in data else None )