mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	 d49ac1e4ac
			
		
	
	
		d49ac1e4ac
		
			
		
	
	
	
	
		
			
			Co-authored-by: crazywoola <li.zheng@dentsplysirona.com> Co-authored-by: StyleZhang <jasonapring2015@outlook.com>
		
			
				
	
	
		
			21 lines
		
	
	
		
			734 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			734 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding:utf-8 -*-
 | |
| import jwt
 | |
| from werkzeug.exceptions import Unauthorized
 | |
| from flask import current_app
 | |
| class PassportService:
 | |
|     def __init__(self):
 | |
|         self.sk = current_app.config.get('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.')
 |