如何使用passportjs实现可选的两因素身份验证

问题描述

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

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

谢谢

解决方法

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...