首页 > 解决方案 > 如何使用 passportjs 实现可选的两因素身份验证

问题描述

我已经在 Express 中实现了一个 API,使用 passportjs 本地策略进行身份验证,现在我想通过增加用户使用两因素身份验证登录的可能性来加强安全性,因为它存在 passport-totp 策略,我阅读了它和看到了一些工作示例,但我还没有找到我想要实现的内容。我想在同一条路线上(比方说/登录)检查身份验证用户是否先前启用了 2fa(这将由用户设置处理),如果已启用,则仅在用户完成时对其进行身份验证通过 2fa 附加验证进行身份验证,如果未启用,则让用户通过简单的登录/密码凭据进行身份验证。

如果有人可以向我解释如何做到这一点(大图),或者如果您知道任何看起来相似的实现示例,我将非常高兴!

谢谢

标签: expressauthenticationpassport.jspassport-localtotp

解决方案


最后我放弃了 passport-totp,使用本地策略实现了简单的身份验证流程,并添加了一个自定义层来处理第二个因素


推荐阅读