12345678910111213141516171819202122 |
- 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.InvalidSignatureError:
- raise Unauthorized("Invalid token signature.")
- except jwt.exceptions.DecodeError:
- raise Unauthorized("Invalid token.")
- except jwt.exceptions.ExpiredSignatureError:
- raise Unauthorized("Token has expired.")
|