Ruby on rails 使用Authy、Twillio和designe仅向rails应用程序添加验证

Ruby on rails 使用Authy、Twillio和designe仅向rails应用程序添加验证,ruby-on-rails,devise,twilio,authy,Ruby On Rails,Devise,Twilio,Authy,我正在用Rails 5、Ruby 2.4.0构建一个调度应用程序,并希望将Twillio用于SMS验证(仅用于电话验证),并设计用于用户身份验证 我的问题是,在Twillio教程之后,我是想为此工作流创建自定义设计注册控制器,还是创建自定义用户控制器来处理此问题更好 由于我的应用程序现在是一个“所有者”,因此通过帐户创建操作上的嵌套表单创建了一个用户类。我只是不确定我是否会通过我的帐户控制器在创建用户时点击用户控制器 这可能是一个垃圾问题,但我真的不知道该如何继续 将SMS验证烘焙到标准设计流程

我正在用Rails 5、Ruby 2.4.0构建一个调度应用程序,并希望将Twillio用于SMS验证(仅用于电话验证),并设计用于用户身份验证

我的问题是,在Twillio教程之后,我是想为此工作流创建自定义设计注册控制器,还是创建自定义用户控制器来处理此问题更好

由于我的应用程序现在是一个“所有者”,因此通过帐户创建操作上的嵌套表单创建了一个用户类。我只是不确定我是否会通过我的帐户控制器在创建用户时点击用户控制器


这可能是一个垃圾问题,但我真的不知道该如何继续

将SMS验证烘焙到标准设计流程中似乎是一个很好的主意,而不是复制功能。幸运的是,这很容易:

class TwillioRegistrationsController < Devise::RegistrationsController

  def create
    super do |user|
      authy = Authy::API.register_user(
        email: user.email,
        cellphone: user.phone_number,
        country_code: user.country_code
      )
      user.update(authy_id: authy.id)
    end
  end

  protected

  def after_sign_up_path_for(resource)
    "users/verify"
  end
end

请注意,您仍然需要设置一个控制器来处理验证,但您可以按照教程进行操作。

将SMS验证烘焙到标准设计流程中似乎是一个很好的主意,而不是复制功能。幸运的是,这很容易:

class TwillioRegistrationsController < Devise::RegistrationsController

  def create
    super do |user|
      authy = Authy::API.register_user(
        email: user.email,
        cellphone: user.phone_number,
        country_code: user.country_code
      )
      user.update(authy_id: authy.id)
    end
  end

  protected

  def after_sign_up_path_for(resource)
    "users/verify"
  end
end
请注意,您仍然需要设置一个控制器来处理验证,但您可以按照本教程进行操作