mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-30 18:33:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			694 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			694 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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.")
 | 
