From 1e9ef094d0973449f28bcec484d36cff0acb0ad1 Mon Sep 17 00:00:00 2001 From: Kevin Renskers Date: Sat, 16 Oct 2021 13:48:15 +0200 Subject: [PATCH 1/2] email and email_verified are actually optional --- siwa/library/token/payload.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/siwa/library/token/payload.py b/siwa/library/token/payload.py index 8fb982c..500bb82 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', default=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', default=None), + email_verified=data.get('email_verified', default=False), + is_private_email=data.get('is_private_email', default=None), + real_person=RealPerson(data['real_user_status']) if 'real_user_status' in data else None ) From 3850b5a90e525a37745f1e01edc6fcc6be4e0927 Mon Sep 17 00:00:00 2001 From: Kevin Renskers Date: Sat, 16 Oct 2021 13:53:38 +0200 Subject: [PATCH 2/2] Fix default keyword --- siwa/library/token/payload.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/siwa/library/token/payload.py b/siwa/library/token/payload.py index 500bb82..abfc604 100644 --- a/siwa/library/token/payload.py +++ b/siwa/library/token/payload.py @@ -57,10 +57,10 @@ def decode(cls: Type[T], data: Dict) -> T: audience=data['aud'], issued_at=data['iat'], expiration_time=data['exp'], - nonce=data.get('nonce', default=None), + nonce=data.get('nonce', None), nonce_supported=data['nonce_supported'], - email=data.get('email', default=None), - email_verified=data.get('email_verified', default=False), - is_private_email=data.get('is_private_email', default=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 )