Python itsdangerous 生成token和验证token

代码如下

class AuthToken(object):

    # 用于处理token信息流程:
    # 1、更加给定的用户信息生成token
    # 2、保存生成的token,以便于后面验证
    # 3、对用户请求多来的token进行验证:
    #   验证成功--->继续执行后面操作
    #   验证失败--->返回状态码通知client带用户信息来重新生成token

    def __init__(self, token_key):
        self.token_key = token_key

    def generate_token(self, expiration=3600):
        # 生成token需要信息:id,secret,empire/然后对这些信息进行算法加密
        token_obj = Serializer(SECRET_KEY, expires_in=expiration)  #SECRET_KEY为自定义的salt  例如:'asdfasdf'
        token = token_obj.dumps({'token_key': self.token_key})
        return token

    @staticmethod
    def verify_auth_token(token):
        # 验证token
        token_obj = Serializer(SECRET_KEY)
        try:
            token_obj.loads(token)   #如果token验证不成功,会报两种错误
        except SignatureExpired:     #时间过期
            msg = 'valid token, but expired'
            return msg
        except BadSignature:         #token错误
            msg = 'Invalid token'
            return msg
        return True

    def save_token_key(self):
        # 仅需要保存self.token_key就可以,通过token_key进行实例化.将其保存在redis。这里进行redis连接和保存
        redis_obj = RedisConnect()
        redis_obj.client.hset('token', 'api_name', self.token_key)

 

转载于:https://www.cnblogs.com/tashanzhishi/p/9600301.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值