python – Flask-Security中基于令牌的密码重置功能的说明
有人可以告诉我在flask-security的密码重置令牌中发生的事情吗?代码在github上: https://github.com/mattupstate/flask-security/blob/develop/flask_security/recoverable.py (目录中可能还有其他部分.) 我对正在发生的事情的理解: >在forgot_password()定义的路由中,用户提交表单以重置密码 那是对的吗? 也: >如果以上是正确的,那么令牌包含当前密码的新md5()是否安全?我知道逆转应该是独一无二且代价高昂的,但仍然如此? 我最特别地对generate_password_reset函数感到困惑 data = [str(user.id),md5(user.password)] 和 reset_password_token_status(令牌)中的get_token_status(token,’reset’,’RESET_PASSWORD’)函数 最佳答案
它正在使用itsdangerous模块来序列化令牌.如果您在下面详细了解它,您将获得有关如何使用到期时间戳等的答案.
http://packages.python.org/itsdangerous/ 函数serializer.dumps()创建一个唯一的序列化字符串,并且get_token_status调用的serializer.loads()将返回异常,除非将精确的序列化值作为参数提供给它. 所以你转储()然后使用它的返回值,你调用loads().如果不匹配,则您有异常,在这种情况下意味着令牌不良. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |