token exp datetime fix

This commit is contained in:
Igor Lobanov 2022-11-14 00:38:06 +01:00
parent ba40e6c7d2
commit 42906a03f5
2 changed files with 5 additions and 5 deletions

View File

@ -41,11 +41,11 @@ class JWTCodec:
r = TokenPayload(**payload) r = TokenPayload(**payload)
print('[jwtcodec] debug payload %r' % r) print('[jwtcodec] debug payload %r' % r)
return r return r
except jwt.InvalidIssuedAtError:
raise ExpiredToken('check token issued time')
except jwt.ExpiredSignatureError: except jwt.ExpiredSignatureError:
raise ExpiredToken('check token lifetime') raise ExpiredToken('check token lifetime')
except jwt.InvalidTokenError: except jwt.InvalidTokenError:
raise InvalidToken('token is not valid') raise InvalidToken('token is not valid')
except jwt.InvalidSignatureError: except jwt.InvalidSignatureError:
raise InvalidToken('token is not valid') raise InvalidToken('token is not valid')
except jwt.InvalidIssuedAtError:
raise ExpiredToken('check token issued time')

View File

@ -1,4 +1,4 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from auth.jwtcodec import JWTCodec from auth.jwtcodec import JWTCodec
from validations.auth import AuthInput from validations.auth import AuthInput
@ -21,7 +21,7 @@ class TokenStorage:
@staticmethod @staticmethod
async def create_onetime(user: AuthInput) -> str: async def create_onetime(user: AuthInput) -> str:
life_span = ONETIME_TOKEN_LIFE_SPAN life_span = ONETIME_TOKEN_LIFE_SPAN
exp = datetime.utcnow() + timedelta(seconds=life_span) exp = datetime.now(tz=timezone.utc) + timedelta(seconds=life_span)
one_time_token = JWTCodec.encode(user, exp) one_time_token = JWTCodec.encode(user, exp)
await save(f"{user.id}-{one_time_token}", life_span) await save(f"{user.id}-{one_time_token}", life_span)
return one_time_token return one_time_token
@ -29,7 +29,7 @@ class TokenStorage:
@staticmethod @staticmethod
async def create_session(user: AuthInput) -> str: async def create_session(user: AuthInput) -> str:
life_span = SESSION_TOKEN_LIFE_SPAN life_span = SESSION_TOKEN_LIFE_SPAN
exp = datetime.utcnow() + timedelta(seconds=life_span) exp = datetime.now(tz=timezone.utc) + timedelta(seconds=life_span)
session_token = JWTCodec.encode(user, exp) session_token = JWTCodec.encode(user, exp)
await save(f"{user.id}-{session_token}", life_span) await save(f"{user.id}-{session_token}", life_span)
return session_token return session_token