PaperBrainAI / backend /app /auth /jwt_handler.py
=Apyhtml20
Initial deploy
99b596a
raw
history blame contribute delete
558 Bytes
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