Iphone 上的双重身份验证?
Two Factor Authentication on Iphone?
我的 nodeJS 服务器应用程序中有一个 2FA 代码,它利用 speakeasy 模块来验证传递的密钥是否有效。我在客户端使用 google Authenticator 应用程序。我使用的是密钥 = "A0B0C0D0E0F0A1B1C1D1E1F2"。 这在 Android 设备上运行良好。但是,当我在 Iphone 上尝试相同操作时,我遇到了以下问题:
- Google Iphone 上的身份验证器应用程序不允许我添加密码 "A0B0C0D0E0F0A1B1C1D1E1F2"。它似乎有一些关于秘密密钥的本地规则。
- 即使我输入 Iphone 允许的密钥,speakeasy.totp 代码也无法验证,并且总是 returns 错误。
secretKey = "A0B0C0D0E0F0A1B1C1D1E1F2";
var verified = speakeasy.totp.verify({
secret: secretKey,
encoding: 'base32',
token: userToken
});
if(!verified) {
// verification failed
} else {
// verification ok
}
如何解决此问题,使其在 Android 和 Iphone 设备上都能正常工作?
注意:该应用仍处于测试区域。 prod 中的密钥将永久存储在 storage/db.
上
谢谢。
totp.verify 中使用的密码是小写的。当我将其转换为大写时,它开始正常工作。
我的 nodeJS 服务器应用程序中有一个 2FA 代码,它利用 speakeasy 模块来验证传递的密钥是否有效。我在客户端使用 google Authenticator 应用程序。我使用的是密钥 = "A0B0C0D0E0F0A1B1C1D1E1F2"。 这在 Android 设备上运行良好。但是,当我在 Iphone 上尝试相同操作时,我遇到了以下问题:
- Google Iphone 上的身份验证器应用程序不允许我添加密码 "A0B0C0D0E0F0A1B1C1D1E1F2"。它似乎有一些关于秘密密钥的本地规则。
- 即使我输入 Iphone 允许的密钥,speakeasy.totp 代码也无法验证,并且总是 returns 错误。
secretKey = "A0B0C0D0E0F0A1B1C1D1E1F2";
var verified = speakeasy.totp.verify({
secret: secretKey,
encoding: 'base32',
token: userToken
});
if(!verified) {
// verification failed
} else {
// verification ok
}
如何解决此问题,使其在 Android 和 Iphone 设备上都能正常工作?
注意:该应用仍处于测试区域。 prod 中的密钥将永久存储在 storage/db.
上谢谢。
totp.verify 中使用的密码是小写的。当我将其转换为大写时,它开始正常工作。