似乎各种流行的身份验证宝石(包括devise
)都是围绕电子邮件构建的。然而,在一些发展中国家,许多用户根本不使用电子邮件,而更喜欢通过SMS验证码进行验证。在devise
中似乎可以允许用户使用电子邮件地址以外的其他内容登录。但是,用户是否也可以通过手机恢复他/她的密码?(即只需通过短信服务将新密码发送到他/她的手机)。
此外,https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-with-something-other-than-their-email-address我不清楚是否可以完全删除注册表单中的电子邮件字段,或者只是将其设为非必需,但仍然存在?
如果无法实现上述目标,那么有没有其他可用的宝石解决方案?我看到像https://github.com/binarylogic/authlogic这样的宝石似乎与方法无关。但我不确定更好的解决方案是建立我自己的身份验证系统而不是使用任何gem。我在RailsGuide上看到,最好使用gem进行身份验证,但我不确定原因。
谢谢!
答案 0 :(得分:1)
如果您不熟悉使用电子邮件进行身份验证的devise
方法,我建议您实施自己的身份验证逻辑。要了解如何进行简单的身份验证,请查看Micheal Hartl撰写的book。通过电子邮件替换确认,并使用短信或类似的东西使用像Twilio这样的API确认。
答案 1 :(得分:1)
如果您确定要使用SMSes进行登录,我建议您放弃设计并推出自己的身份验证方法。
但是有几件事需要考虑: