【发布时间】:2016-06-18 01:23:32
【问题描述】:
我将在我的 Ruby 应用程序中添加两个因素身份验证。我需要用简单的用例来简单地实现它:
能够通过短信或电子邮件生成和发送代码(意思是,我不想将其附加到 Google Authenticator);
能够先显示登录密码表单,然后显示代码表单(就像 github 现在一样)。
听起来还不像火箭科学。但不知何故,我被卡住了。
所以我的问题是:有没有人尝试实现这一点,如果是的话,您使用什么策略来实现这一点?
我尝试使用 devise-two-factor gem,它被描述为“使用 Devise 进行准系统双因素身份验证”。
在后台,它使用登录名+密码+代码(同时)对用户进行身份验证。但在我的用例中,我希望用户首先输入登录名+密码(通过表单发布),然后在用户输入代码之前将代码发送给用户,然后在下一个屏幕上输入代码。
我找到的唯一解决方案是将登录名和密码存储在会话中(原文如此!),并在用户输入 2 因素代码后用于对用户进行身份验证。我对这个策略并不太自信。
【问题讨论】:
标签: ruby-on-rails authentication devise two-factor-authentication