| 123456789101112131415161718192021222324 | 
							- import jwt
 - from werkzeug.exceptions import Unauthorized
 - 
 - from configs import dify_config
 - 
 - 
 - class PassportService:
 -     def __init__(self):
 -         self.sk = dify_config.SECRET_KEY
 - 
 -     def issue(self, payload):
 -         return jwt.encode(payload, self.sk, algorithm="HS256")
 - 
 -     def verify(self, token):
 -         try:
 -             return jwt.decode(token, self.sk, algorithms=["HS256"])
 -         except jwt.exceptions.ExpiredSignatureError:
 -             raise Unauthorized("Token has expired.")
 -         except jwt.exceptions.InvalidSignatureError:
 -             raise Unauthorized("Invalid token signature.")
 -         except jwt.exceptions.DecodeError:
 -             raise Unauthorized("Invalid token.")
 -         except jwt.exceptions.PyJWTError:  # Catch-all for other JWT errors
 -             raise Unauthorized("Invalid token.")
 
 
  |