From 79e867797546459eb16cfad1d15cc6f247119912 Mon Sep 17 00:00:00 2001 From: tonyrewin Date: Mon, 31 Oct 2022 21:38:41 +0300 Subject: [PATCH] jwt-decode-debug --- auth/jwtcodec.py | 17 +++++++---------- auth/tokenstorage.py | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/auth/jwtcodec.py b/auth/jwtcodec.py index 14180a91..a191e8a4 100644 --- a/auth/jwtcodec.py +++ b/auth/jwtcodec.py @@ -2,27 +2,22 @@ from datetime import datetime import jwt -from validations.auth import TokenPayload, AuthInput +from validations.auth import TokenPayload from settings import JWT_ALGORITHM, JWT_SECRET_KEY class JWTCodec: @staticmethod - def encode(user: AuthInput, exp: datetime) -> str: + def encode(user_id: int, exp: datetime) -> str: payload = { - "user_id": user.id, + "user_id": user_id, # "user_email": user.email, # less secure # "device": device, # no use cases "exp": exp, "iat": datetime.utcnow() } try: - r = jwt.encode( - payload, - JWT_SECRET_KEY, - JWT_ALGORITHM - ) - return r + return jwt.encode(payload, JWT_SECRET_KEY, JWT_ALGORITHM) except Exception as e: print('[jwtcodec] JWT encode error %r' % e) @@ -35,6 +30,8 @@ class JWTCodec: options={"verify_exp": verify_exp}, algorithms=[JWT_ALGORITHM], ) - return TokenPayload(**payload) + r = TokenPayload(**payload) + print('[jwtcodec] debug payload %r' % r) + return r except Exception as e: print('[jwtcodec] JWT decode error %r' % e) diff --git a/auth/tokenstorage.py b/auth/tokenstorage.py index 482422a1..3802eb6b 100644 --- a/auth/tokenstorage.py +++ b/auth/tokenstorage.py @@ -22,7 +22,7 @@ class TokenStorage: async def create_onetime(user: AuthInput) -> str: life_span = ONETIME_TOKEN_LIFE_SPAN exp = datetime.utcnow() + timedelta(seconds=life_span) - one_time_token = JWTCodec.encode(user, exp=exp) + one_time_token = JWTCodec.encode(user.id, exp) await save(f"{user.id}-{one_time_token}", life_span) return one_time_token @@ -30,7 +30,7 @@ class TokenStorage: async def create_session(user: AuthInput) -> str: life_span = SESSION_TOKEN_LIFE_SPAN exp = datetime.utcnow() + timedelta(seconds=life_span) - session_token = JWTCodec.encode(user, exp=exp) + session_token = JWTCodec.encode(user.id, exp) await save(f"{user.id}-{session_token}", life_span) return session_token