import os import jwt from datetime import datetime, timedelta class JWTUtil: def __init__(self, algorithm="HS256"): self.secret_key = os.getenv("JWT_SECRET_KEY") self.algorithm = algorithm def generate_jwt(self, payload, expiration_minutes=60): payload["exp"] = datetime.now() + timedelta(minutes=expiration_minutes) return jwt.encode(payload, self.secret_key, algorithm=self.algorithm) def validate_jwt(self, token): try: return jwt.decode(token, self.secret_key, algorithms=[self.algorithm]) except jwt.ExpiredSignatureError: return None except jwt.InvalidTokenError: return None