Django第三方登录QQ获取opeid后进行加密

itsdangerous的使用

安装: pip install itsdangerous

使用TimedJSONWebSignatureSerializer可以生成带有有效器的token

itsdnagerous模块参考文档

itsdangerous序列化和反序列化openid

序列化openid:

def generate_access_token_openid(openid):
    """
    序列化openid
    :param openid: openid明文
    :return: openid密文
    """
    # 创建序列化器
    serializer = Serializer(settings.SECRET_KEY, expires_in=constants.ACCESS_TOKEN_EXPIRES)
    # 准备要序列化的数据
    data = {'openid': openid}
    # 序列化数据
    token = serializer.dumps(data)
    # 返回序列化后的数据
    return token.decode()

反序列化openid:

def check_access_token_openid(access_token_openid):
    """
    反序列化openid
    :param access_token_openid: openid密文
    :return: openid明文
    """
    # 创建序列化器对象:序列化和反序列化的对象的参数必须是一模一样的
    s = Serialzier(settings.SECRET_KEY, constants.ACCESS_TOKEN_EXPIRES)

    # 反序列化openid密文
    try:
        data = s.loads(access_token_openid)
    except BadData: # openid密文过期
        return None
    else:
        # 返回openid明文
        return data.get('openid')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值