使用python itsdangerous生成临时身份令牌

使用itsdangerous生成临时身份令牌
安装:pip install itsdangerous -i https://pypi.tuna.tsinghua.edu.cn/simple/
使用

import itsdangerous

salt='sdaf' #加盐
t = itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=600)#过期时间600秒

info = {
	'username': 'yangfan',
	'user_id': 1
}

# =========加密token============
res = t.dumps(info)
token = res.decode()#指定编码格式
print(token)
# eyJleHAiOjE1NzUwMDczNjgsImlhdCI6MTU3NTAwNjc2OCwiYWxnIjoiSFM1MTIifQ.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InlhbmdmYW4ifQ.yUb3PW53V89ZX4Ci2qeaBJIiizt0JUAN_W9BBzg8QkIR1-uO7NQl6jizSUReOFGanWzfG19t7XFHCWv1JGMIZw


# =========解密token============

res = t.loads('eyJhbGciOiJIUzUxMiIsImV4cCI6MTU3NTAwNzM0MywiaWF0IjoxNTc1MDA2NzQzfQ.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InlhbmdmYW4ifQ.k-Q1VyN2TOlQ4flHHoiOYEMRaUEiN5Ms2JgeRdnCZWbQB-WwQ1FScoBWxFGkCYEPoWVpAjQxDBQeBesmulZupQ')
# res = t.loads(token)
print(res)
# {'username': 'yangfan', 'user_id': 1}




# 若超时或值有误则会报错
try:
	res = t.loads(token)
    activate_user = User.objects.get(id=res['confirm'])
    activate_user.is_active = 1
    activate_user.save()
    return HttpResponse('恭喜您,帐号已成功激活,快去登录挑选您喜爱的商品吧~(●ˇ∀ˇ●)')
except SignatureExpired as e:
    return HttpResponse('链接已过期')

转载自:https://blog.csdn.net/weixin_43670190/article/details/122960967

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值