samaan / utils /jwt_utils.py
Copilot Sync Bot
Sync backend from main branch
b953c2d
raw
history blame contribute delete
617 Bytes
from __future__ import annotations
from datetime import datetime, timedelta, timezone
from typing import Any, Dict
from jose import jwt
from utils.runtime import get_secret_key
ALGORITHM = "HS256"
SECRET_KEY = get_secret_key()
def create_token(payload: Dict[str, Any], expires_delta: timedelta, token_type: str) -> str:
data = payload.copy()
data.update({"exp": datetime.now(timezone.utc) + expires_delta, "type": token_type})
return jwt.encode(data, SECRET_KEY, algorithm=ALGORITHM)
def decode_token(token: str) -> Dict[str, Any]:
return jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])