0
点赞
收藏
分享

微信扫一扫

python模块:itsdangerous(生成临时身份令牌)

小时候是个乖乖 2022-02-16 阅读 71

使用itsdangerous生成临时身份令牌

安装

pip install itsdangerous

使用

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('链接已过期')
举报

相关推荐

0 条评论