使用短信或电子邮件发送设计确认说明

时间:2015-10-12 06:33:32

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 devise

您好我已经使用了设计进行身份验证,并且对其进行了一些更改,例如我使用电子邮件和手机号码登录。已审阅this link

这是我的代码

def self.find_for_database_authentication(conditions={})
    find_by(mobile_number: conditions[:email]) || find_by(email: conditions[:email])
  end

我正在使用可识别模块发送确认说明,并且他们的电子邮件工作正常。

现在,如果用户没有输入此电子邮件(只输入手机号码),那么他必须发送短信(短信确认指示)

所以我有以下怀疑

  • How can I achieve this functionality?
  • How can I generate the same confirmation link for the same.

编辑(我尝试使用以下解决方案生成确认链接)

由于我还必须在SMS中发送确认链接,所以我尝试使用以下

生成给定链接
http://localhost:3000/admin_users/confirmation?confirmation_token=#{@user.confirmation_token}"

它会生成以下类型的链接

http://localhost:3000/admin_users/confirmation?confirmation_token=00b2880c9662c65dc6d276db08532ea42d4333e6b7d2357d036cb9233eed41e8 

当我厌倦了使用此链接时,它会给我确认令牌无效错误。搜索后我找到了this。那么如何在设计范围外生成确认链接。

1 个答案:

答案 0 :(得分:-1)

至于通过短信发送说明,如果要设置服务器,可能需要查看tropo服务或restcomm。 Tropo特别易于使用,您需要一笔小额存款(如10美元)才能启用短信发送功能。

关于url的生成,您可能必须创建一个扩展Devise::ConfirmationsController的控制器并覆盖create方法以添加逻辑以检查是否存在电子邮件或电话号码并做出正确反应