我可以在 Rails 上始终要求与 Devise 确认吗?

Can I always require confirmation with Devise on Rails?

有人要求我在一段时间未登录后使用电子邮件代码实施 2FA,就像您从 Steam(和许多银行)获得的一样。我最初认为这将是我可以在 Devise 配置中打开的一个标志,但我在互联网上找不到任何地方谈论这样的事情。所需的过程是生成并通过电子邮件发送一次性一密本以进入确认屏幕。我在 Devise 中发现的每一个 2FA 参考文献都指的是使用 SMS 或身份验证器应用程序之类的东西。

在 Devise 的框架内工作,这似乎可能归结为每隔一段时间,也许就像每隔一天一样,不确认用户。这样,下次他们登录时,他们会收到另一封电子邮件,其中包含新的 link 以 "re-" 确认登录。我能找到的最好的方法是 Warden::Manager.after_authentication 设置 user.confirmed_at = nil,但这似乎不是我想要的。

感谢 Github 上的一位友好人士,我被引导到 Devise 插件 https://github.com/Houdini/two_factor_authentication,它完全符合我的要求。我知道一些肯定有人已经写好了!