0

一段时间以来,我们一直在使用 flask-security 的无密码登录功能,但现在我们发现登录链接实际上可以多次使用,这在安全方面并不理想。我花了一些时间阅读https://flask-security-too.readthedocs.io/en/stable/configuration.html试图找到一个设置,该设置会使登录令牌在首次使用后无效,但我只遇到了SECURITY_LOGIN_WITHIN这个选项设置令牌的生命周期。我想要的是:

  • 令牌一旦使用就无效
  • 如果未在 .. 内使用,则令牌已过期

flask-security 是否提供这样的配置?

4

1 回答 1

0

您是对的-这些令牌不是一次性的-但它们是定时的-因此,如果在 SECURITY_LOGIN_WITHIN 秒(这是您的第二次询问)之后未使用,令牌将过期。

新功能——unified_signin 提供了一种更灵活的身份验证方式——包括电子邮件链接(如无密码)或一次性代码、SMS、身份验证器应用程序。

在unified_signin 中-所有代码都是使用passlibs TOTP 生成的-它们也是定时令牌-不是真正的一次。但是 - 如此处所述:https ://flask-security-too.readthedocs.io/en/stable/api.html#flask_security.Totp 您可以实施推荐的计数器持久性以确保一次性使用/无重播。

于 2021-08-02T16:51:08.953 回答