import jwt import os from datetime import datetime, timedelta, timezone from dotenv import load_dotenv load_dotenv() SECRET = os.getenv("JWT_SECRET", "super_secret_key_change_me") ALGORITHM = "HS256" EXPIRY_HOURS = 72 def create_token(payload: dict) -> str: data = payload.copy() data["exp"] = datetime.now(timezone.utc) + timedelta(hours=EXPIRY_HOURS) return jwt.encode(data, SECRET, algorithm=ALGORITHM) def verify_token(token: str): try: return jwt.decode(token, SECRET, algorithms=[ALGORITHM]) except Exception: return None