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

时间:2021-02-21 14:45:45

标签: node.js one-time-password two-factor-authentication google-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 吗?

感谢社区!

0 个答案:

没有答案