NodeJS 2fa 身份验证令牌始终为假

问题描述

我正在尝试在新的 NodeJS 侧项目中添加双因素身份验证。为此,我使用 Error Screenshot 模块。

首先,我为我的用户生成新的秘密:

const secret = authenticator.generateSecret()

显示使用 Google Auth 应用程序或 FreeOTP 进行扫描的二维码

const test = "lorem@ipsum.fr"
const service = "myawesomeapp"
const otpauth = authenticator.keyuri(test,service,secret)
const qrcode = await QRCode.toDataURL(otpauth)

二维码正确生成并被 Google Auth 和 FreeOTP 识别。但是,verify 方法总是返回 false :

const isValid = authenticator.verify({ secret,token }) // secret is the prevIoUsly generateSecret() and the token is the code show on Google Auth/FreeOTP app

它总是错误的。我认为我必须做错一些事情,但我不明白问题出在哪里。

有人已经在 NodeJS 中使用了 2FA 吗?

感谢社区!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)