加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

flask开发中遇到使用itsdangrous生成的确认令牌失效

发布时间:2020-12-17 17:03:22 所属栏目:Python 来源:网络整理
导读:flask开发中遇到使用itsdangrous生成的确认令牌失效 报错原因是:点击邮件发送的激活链接之后,提示激活链接失效或者过期 检查源码:app/models.py def?generate_confirmation_token(self,?expiration=3600):????s?=?Serializer(current_app.config['SECRET_

flask开发中遇到使用itsdangrous生成的确认令牌失效

报错原因是:点击邮件发送的激活链接之后,提示激活链接失效或者过期

检查源码:app/models.py

def?generate_confirmation_token(self,?expiration=3600):
????s?=?Serializer(current_app.config['SECRET_KEY'],?expiration)
????#?dumps?为指定数据生成一个加密签名,然后对数据和签名进行序列化,生成令牌字符串
????#?生成一个令牌字符串
????return?s.dumps({'confirm':?self.id})

#?检验令牌
def?confirm(self,?token):
????s?=?Serializer(current_app.config['SECRET_KEY'])
????try:
????????data?=?s.loads(token)
????except:
????????return?False
????#?判断令牌中的id是否和current_user中已登录的用户匹配
????if?data.get('confirm')?!=?self.id:
????????return?False
????self.confirmed?=?True
????db.session.add(self)
????return?True


尝试在在db.session.add(self)后面添加

???db.session.commit()

经过测试,激活成功。


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读