ruby-on-rails - 使用 Ruby 的两因素身份验证(通过设计)

标签 ruby-on-rails authentication devise two-factor-authentication

我要为我的 Ruby 应用程序添加两因素身份验证。我需要用简单的用例来真正简单地实现它:

  • 能够通过短信或电子邮件生成和发送验证码(也就是说,我不想用这个附加到 Google 身份验证器);

  • 能够首先显示登录密码表单,然后是代码表单(就像 github 现在所做的那样)。

听起来还不像火箭科学。但不知何故我被困住了。

所以我的问题是:有没有人尝试实现这个,如果是的话,你使用了什么策略来实现这个?


我已经尝试使用 devise-two-factor gem,它被描述为“Barebones two-factor authentication with Devise”。

在后台,它使用登录名+密码+代码(同时)对用户进行身份验证。但在我的用例中,我希望用户先输入登录名+密码(通过表单发布),然后在用户之前将代码发送给用户,然后在下一个屏幕上输入代码。

我找到的唯一解决方案是将登录名和密码存储在 session 中(原文如此!),并在用户输入 2 元代码后用于对用户进行身份验证。我对这个策略并不太有信心。

最佳答案

devise-two-factor 决定了您的登录应该如何工作。我认为你最好使用 ROTP直接使用 gem(设计双因素使用)并实现自定义解决方案。

关于ruby-on-rails - 使用 Ruby 的两因素身份验证(通过设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793844/

相关文章:

ruby-on-rails - 如何一起使用 resque-scheduler 和 resque-status?

php - Symfony2 防火墙 : Redirect to registration form instead of login

ruby-on-rails - 设备升级后无法登录

ruby-on-rails - 如何在rails中设置postgresql命令超时

ruby-on-rails - 如何查询所有 parent 及其 child 的属性总和?

ruby-on-rails - 将记录委托(delegate)与 Mongoid Rails 和 Ruby 结合使用

css - 设计密码重置 View

mysql - 仅获取数据库的个人记录而不是所有记录

git - 使用 GitHub 进行 Mac OS 命令行身份验证

ruby-on-rails - 如何在Google Analytics(分析)中跟踪Devise用户注册为转化的过程