首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要使用Devise进行Authy双因素身份验证

需要使用Devise进行Authy双因素身份验证
EN

Stack Overflow用户
提问于 2017-05-22 02:58:43
回答 1查看 326关注 0票数 1

我有一个应用程序设置与设备登录,我想实现两个因素的身份验证与Authy/Twilio。我有它设置的地方,如果用户去的路径/enable_authy,他们可以得到一个文本代码来验证他们的帐户。我正在努力做到这一点,所以它是必须这样做的,而不仅仅是奖励。

我的路线。

代码语言:javascript
复制
 devise_for :users,
   :controllers => { :omniauth_callbacks => "users/omniauth_callbacks"},
   :path_names => {
    :verify_authy => "/verify-token",
    :enable_authy => "/enable_authy",
    :verify_authy_installation => "/verify-installation"
  }
EN

回答 1

Stack Overflow用户

发布于 2017-05-22 22:26:31

Twilio开发者的布道者在这里。

gem本身不可能强制用户启用双因素身份验证。但是,您可以在ApplicationController中使用before_action来确保这一点。您只需检查您的登录用户是否启用了身份验证,如果没有,则将其重定向到/enable_authy

类似于:

代码语言:javascript
复制
class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_action :ensure_authy_enabled

  private

  def ensure_authy_enabled
    return if params[:controller] == "devise/devise_authy"
    if current_user and !current_user.authy_enabled?
      redirect_to user_enable_authy_path
    end
  end
end

您可能还想设置一个flash消息来解释发生了什么,或者存储用户打算访问的路径,以便您可以在使用2FA设置它们之后将它们重定向到那里。

如果有任何帮助,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44100668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档