express - 如何使用 passportjs 实现可选的两因素身份验证
问题描述
我已经在 Express 中实现了一个 API,使用 passportjs 本地策略进行身份验证,现在我想通过增加用户使用两因素身份验证登录的可能性来加强安全性,因为它存在 passport-totp 策略,我阅读了它和看到了一些工作示例,但我还没有找到我想要实现的内容。我想在同一条路线上(比方说/登录)检查身份验证用户是否先前启用了 2fa(这将由用户设置处理),如果已启用,则仅在用户完成时对其进行身份验证通过 2fa 附加验证进行身份验证,如果未启用,则让用户通过简单的登录/密码凭据进行身份验证。
如果有人可以向我解释如何做到这一点(大图),或者如果您知道任何看起来相似的实现示例,我将非常高兴!
谢谢
解决方案
最后我放弃了 passport-totp,使用本地策略实现了简单的身份验证流程,并添加了一个自定义层来处理第二个因素
推荐阅读
- javascript - 将图像数组从 JS 文件传递到 EJS
- javascript - 两种方式数据绑定数组角度 6
- jquery - 如何将堆栈设置为mathjax?
- angular - 如何在 Angular 6 中配置 index.html 上的 CDN 路径
- github - 创建 github 远程分支
- powershell - 启用防火墙后,有没有办法测试 IP 地址的可达性?
- matlab - 在matlab中搜索和替换文本文件的多行中的特定字符串
- ios - UIScreenEdgePanGestureRecognizer 无法更改方向?
- kubernetes - 如何显示掌舵版本号
- angular - Docker - nginx angular - 403 禁止错误