微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Flask Security 将密码重置 url 设置为移动深度链接?

如何解决如何使用 Flask Security 将密码重置 url 设置为移动深度链接?

问题的要点是,我不是在开发 SPA,而是在开发移动应用程序,后端在 Flask 中。 FlaskSecurityToo 为我提供了一些很棒的功能,我现在正在尝试使用他们的密码重置功能。这是我的抱怨。

我想让电子邮件发送一个深层链接,移动应用上的用户将点击该深层链接,然后将其发送到应用上的密码重置表单。没有用于此的 UI 视图。但是 FlaskSecurityToo 的逻辑要求首先命中服务器以验证令牌,然后将它们重定向到设置了 REDIRECT_HOST 的任何内容。当我将 REDIRECT_BEHAVIOR 设置为 spa

效果很好

有没有办法告诉 Flask“嘿,不要担心需要从最初提供的密码重置电子邮件中验证令牌,让 UI/移动应用程序随时调用来确定" 来自提供的配置? 因此,只要存在令牌,就放宽对主机名/ url 详细信息的限制以重置密码?或者这是否滥用了一些我还没有掌握的 FlaskSecurity 原则?

我目前的计划是让它打开移动浏览器,希望重定向强制打开应用程序?我对深层链接的经验很少,所以我一边学习一边测试和探索。

解决方法

您对当前 FS 行为的看法是正确的 - 这是一个建议(不干净,但如果您只需要它会很有趣) - POST /reset/ 端点是独立的 - 您不必调用 GET首先 - POST 还将验证令牌是否有效。因此,问题就变成了如何为包含您想要的内容的电子邮件生成链接。 FS 当前不允许对此进行配置(这可能是一个增强功能) - 但在 4.0.0 中,您可以轻松替换 MailUtil 类并让您的 send_mail 实现查找 template='reset_instructions'。现在 - 此时电子邮件已经呈现 - 因此您必须解析正文并重写 url(保持令牌完好无损)。丑陋但可行 - 这是否足够?如果是这样,我可以看到 FS 中的一些简单改进,以便在处理电子邮件时提供更大的灵活性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?