如何解决如何使用 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 举报,一经查实,本站将立刻删除。