Files

19 lines
626 B
Python

import time
from typing import Dict
import jwt as pyjwt
from server.backend.schema.pydantic import settings
def signJWT(user_info: dict) -> str:
payload = {
"user_id":user_info.id,
"expires": time.time() + settings.ACCESS_TOKEN_EXPIRE_SECONDS
}
token = pyjwt.encode(payload, settings.SECRET_KEY, algorithm=settings.ALGORITHM)
return token
def decodeJWT(token: str) -> dict:
try:
decoded_token = pyjwt.decode(token, settings.SECRET_KEY, algorithms=[settings.ALGORITHM])
return decoded_token if decoded_token["expires"] >= time.time() else None
except:
return {}