Spaces:
Sleeping
Sleeping
| 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 |