用户可以通过短信注册 (Rails)

Ability for users to sign up via SMS (Rails)

我正在开发一个 rails 应用程序,其中主要用户模型可以通过手机号码和密码进行验证。这在网站上一切正常。

我想做的是使用户能够仅使用老式手机 phone 访问网络应用程序的所有相同功能 - 纯粹通过 SMS。我已经使用 Twilio 通过 SMS 启用了一些网络应用程序功能,但我不确定如何以安全的方式通过 SMS 处理用户密码的创建。

我想要什么:

  1. 用户将单词 "LOAN" 发送到我们的 Twilio 号码。
  2. 这会根据他们的 mobile_number 在我们的系统上创建一个帐户。但是,需要密码才能将用户保留在数据库中,因此也需要在此处生成密码。
  3. 以安全的方式向用户发送带有密码的短信。

我想象我的 TwilioController 操作看起来像这样:

def sign_up
  if params["Body"] == "LOAN"
    user = User.create(mobile_number: params["From"], password: __?__)
    user.sms_sign_up # method to send the sms to the user
  else
    send_failure_sms(params["From"])
  end
end

我已经熟悉如何使用 TwiML 应用程序在我的 Twilio 帐户上进行设置 - 我只对了解如何管理此问题的密码方面感兴趣!谢谢

编辑:我看到 Devise 提供了方法#friendly_token。这在这种情况下有用吗?

此处为 Twilio 开发人员布道师。

我认为您的编辑就是答案!我找到了其他 Stack Overflow answers that advocate the use of Devise.friendly_token as well as this How to on generating passwords in Devise.