try timezones
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
import jwt
|
||||
from base.exceptions import ExpiredToken, InvalidToken
|
||||
from validations.auth import TokenPayload, AuthInput
|
||||
@@ -8,13 +8,11 @@ from settings import JWT_ALGORITHM, JWT_SECRET_KEY
|
||||
class JWTCodec:
|
||||
@staticmethod
|
||||
def encode(user: AuthInput, exp: datetime) -> str:
|
||||
expires = int(exp.timestamp() * 1000)
|
||||
issued = int(datetime.now().timestamp() * 1000)
|
||||
issued = datetime.now(tz=timezone.utc)
|
||||
payload = {
|
||||
"user_id": user.id,
|
||||
"username": user.email or user.phone,
|
||||
# "device": device, # no use cases
|
||||
"exp": expires,
|
||||
"exp": exp,
|
||||
"iat": issued,
|
||||
"iss": "discours"
|
||||
}
|
||||
|
@@ -9,7 +9,7 @@ from settings import SESSION_TOKEN_LIFE_SPAN, ONETIME_TOKEN_LIFE_SPAN
|
||||
async def save(token_key, life_span, auto_delete=True):
|
||||
await redis.execute("SET", token_key, "True")
|
||||
if auto_delete:
|
||||
expire_at = (datetime.now() + timedelta(seconds=life_span)).timestamp()
|
||||
expire_at = (datetime.now(tz=timezone.utc) + timedelta(seconds=life_span)).timestamp()
|
||||
await redis.execute("EXPIREAT", token_key, int(expire_at))
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user