| 123456789101112131415161718192021 | # -*- coding:utf-8 -*-import jwtfrom werkzeug.exceptions import Unauthorizedfrom flask import current_appclass 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.')
 |