22 lines
773 B
Python
22 lines
773 B
Python
import os
|
|
import jwt
|
|
from datetime import datetime, timedelta
|
|
|
|
class TokenService:
|
|
def __init__(self):
|
|
self.SECRET = os.getenv('TOKEN_SECRET')
|
|
self.ALGORITHM = os.getenv('TOKEN_ALGORITHM')
|
|
self.LIVE_HOUR_MINUTES = os.getenv('TOKEN_LIVE')
|
|
|
|
def GenerateToken(self, payload):
|
|
payload['exp'] = datetime.now() + timedelta(minutes = int(self.LIVE_HOUR_MINUTES))
|
|
return jwt.encode(payload, self.SECRET, self.ALGORITHM)
|
|
|
|
def ValidateToken(self, token: str):
|
|
try:
|
|
if os.getenv('ENVIRONMENT') == 'Development' and token == "1":
|
|
return True
|
|
|
|
return jwt.decode(token, self.SECRET, algorithms = self.ALGORITHM)
|
|
except jwt.InvalidTokenError as e:
|
|
return False |