Spaces:
Runtime error
Runtime error
File size: 690 Bytes
4f26fae a3aa6c1 4f26fae a3aa6c1 4f26fae a3aa6c1 4f26fae a3aa6c1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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
|