【发布时间】:2017-09-01 21:35:37
【问题描述】:
我们都知道,Devise 是在基于 Rails 的应用程序上实现身份验证的事实上的标准。
默认情况下,它使用电子邮件作为 ID,但也允许您使用用户名。它还具有“可确认”模块,可让您通过发送电子邮件并单击链接来验证您的电子邮件来确认电子邮件地址。
我一直在寻找与电话号码类似的东西——基本上接受电话号码作为主要 ID 而不是电子邮件,然后通过 Twilio 之类的东西将身份验证码作为 SMS 消息发送到用户的号码来确认电话号码,然后让用户通过输入代码来确认(或者甚至让用户点击生成的链接进行验证,就像他们处理电子邮件一样)
我期待这个功能会有一个流行的设计模块的原因是因为现在似乎大多数移动社交应用程序都接受电话号码并确认号码。一定有人认为这是一个问题并为此开源了一个模块。但是我找不到任何流行的。实际上,准确地说,这是我在此找到的仅有的三个相关链接:
- https://github.com/giano/devise_sms_activable
- https://github.com/baranov-sv/devise_sms_confirmable
- Rails register User using phone number and confirmation
它们都没有导致可行的解决方案(我尝试过 devise_sms_activable,但它不适用于 rails 4,而且我对星数太少持谨慎态度)所以我想问一下是否有任何可行的解决方案这个。我错过了什么吗?是否在 Devise 开发者社区中提出了这个话题?我对解决方案很好奇,但如果没有,我至少会感谢任何关于为什么这不是现成的答案。
[更新]
我认为这个问题可能有点误导。虽然我可以自己构建它,但我不喜欢重新发明轮子。 基本上我对这个问题的意图是:
- 如果有任何包可以做到这一点(如所有模块,如可确认、token_authentcatable 等。甚至可能不是设计模块,它可能完全是另一回事)
- 或者,如果没有这样的预构建解决方案,为什么没有。当每个人似乎都在这样做时,我就是无法理解为什么我找不到这样的解决方案。
当我得到#1 或#2 的答案时,我很乐意接受。谢谢!
【问题讨论】:
-
你检查过配置文件吗?我可能错了,但我认为这就像更改身份验证密钥一样简单。这是一个示例配置文件,搜索电子邮件,其中大部分地方都可以替换为电话号码github.com/plataformatec/devise/blob/…
-
你能提供一个来源吗?我不确定它怎么能这么简单,因为发送 SMS 不是内置在 rails 中的,需要使用 Twilio 等。
-
@Vlad 我已经更新了我在你更新问题后写的答案,检查一下。
标签: ruby-on-rails authentication ruby-on-rails-4 devise twilio