您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – Flask-Security中基于令牌的密码重置功能的说明

5b51 2022/1/14 8:20:49 python 字数 3611 阅读 532 来源 www.jb51.cc/python

有人可以告诉我在flask-security的密码重置令牌中发生的事情吗?代码在github上:https://github.com/mattupstate/flask-security/blob/develop/flask_security/recoverable.py(目录中可能还有其他部分.)我对正在发生的事情的理解:>在forgot_passw

概述

有人可以告诉我在flask-security的密码重置令牌中发生的事情吗?代码github上:

https://github.com/mattupstate/flask-security/blob/develop/flask_security/recoverable.py

(目录中可能还有其他部分.)

我对正在发生的事情的理解:

>在forgot_password()定义的路由中,用户提交表单以重置密码
>生成“reset_password_token”.这包括用户的ID和用户当前(存储加密)密码的md5()?
>生成包含令牌的重置密码地址的链接.
>此链接通过电子邮件发送到user.email提供的地址
>当用户单击该链接时,它们将转到路径(在视图中定义),即reset_password(令牌).标记值是此路由的参数.
>路由评估令牌是否有效且未过期.
>如果是,则此路由呈现一个表单,要求输入新密码ResetPasswordForm().

那是对的吗?

也:

>如果以上是正确的,那么令牌包含当前密码的新md5()是否安全?我知道逆转应该是独一无二且代价高昂的,但仍然如此?
>存储的失效日期在哪里?

我最特别地对generate_password_reset函数感到困惑

data = [str(user.id),md5(user.password)]
    return _security.reset_serializer.dumps(data)

reset_password_token_status(令牌)中的get_token_status(token,’reset’,’RESET_PASSWORD’)函数

http://packages.python.org/itsdangerous/

函数serializer.dumps()创建一个唯一的序列化字符串,并且get_token_status调用的serializer.loads()将返回异常,除非将精确的序列化值作为参数提供给它.

所以你转储()然后使用它的返回值,你调用loads().如果不匹配,则您有异常,在这种情况下意味着令牌不良.

总结

以上是编程之家为你收集整理的python – Flask-Security中基于令牌的密码重置功能的说明全部内容,希望文章能够帮你解决python – Flask-Security中基于令牌的密码重置功能的说明所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶