Spaces:
Sleeping
Sleeping
File size: 558 Bytes
99b596a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from datetime import datetime, timedelta
from jose import JWTError, jwt
SECRET_KEY = "smartstudy_secret_key_2024_change_in_production"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_HOURS = 24
def create_token(data: dict) -> str:
payload = data.copy()
payload["exp"] = datetime.utcnow() + timedelta(hours=ACCESS_TOKEN_EXPIRE_HOURS)
return jwt.encode(payload, SECRET_KEY, algorithm=ALGORITHM)
def decode_token(token: str) -> dict:
try:
return jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
except JWTError:
return None |