ruby-on-rails - 如何在 Rails 中通过 OTP 实现电子邮件验证?
问题描述
在我的 Rails 应用程序中,我通过 OTP 实施移动验证。(使用 active_model_otp)。现在我的客户要求是他也希望通过 OTP 进行电子邮件验证(意味着需要将具有 6 位 otp 的电子邮件发送到电子邮件。如果他输入,则应该进行电子邮件验证。)
目前正在通过确认链接进行电子邮件验证,该链接在用户注册时发送给用户(设计默认电子邮件验证功能)
现在我的问题是如何在这种情况下实现 OTP 验证,我可以使用相同的 gem 来完成它吗?当我检查 gem 文档时,我没有发现任何与使用 otp 进行电子邮件验证相关的信息,尽管这个 gem(active_model_otp)
我需要更改这些 gem(设计,active_model_otp)来实现它还是我们需要手动实现它。
解决方案
他约翰,我也在做同样的事情,但还没有完成,所以现在不能分享代码。本质上,我的想法是制作额外的 /mfa/otp_qr 和 /mfa/otp_mail 控制器(和视图)和父视图供用户选择邮件或 qr 身份验证,即在 /users/registrations/edit.html.erb (和相应地路由它)。Active_model_otp gem 只处理 sec.codes 生成/比较,而不是如何向用户显示这些(即使用 QR 码)或通过电子邮件发送(我猜 SMS 也是可行的)。
推荐阅读
- javascript - 从帮助列表中隐藏 nsfw 命令
- r - ggplot Overlay Plot Figure
- javascript - JQuery Ajax Mysql 数据检索获得额外的回车并出现在 textarea
- javascript - Javascript 查询(Callback 和 forEach)
- xamarin.forms - 如何将值传递给自定义渲染器?
- python - LSTM Autoenconder 中的 Keras 嵌入层
- azure - 无法从 Azure 搜索服务连接 Azure SQL 托管实例数据源
- android - 如何在视图模型中使用 SwipeRefreshLayout?
- node.js - 我应该不做 module.exports = foo(){} 以便于测试
- java - 不能从静态上下文引用非静态方法 getDeviceList()