【发布时间】:2018-09-22 20:15:12
【问题描述】:
我正在使用https://www.npmjs.com/package/speakeasy 生成 OTP,我希望有效期为 10 分钟。
这是生成的代码
const generateOtp = function generateOtp() {
let token = speakeasy.totp({
secret:process.env.OTP_KEY,
encoding: 'base32',
digits:4,
window:10
});
return token;
}
验证一次性密码
const verifyOtp = function verifyOtp(token){
let expiry = speakeasy.totp.verify({
secret:process.env.OTP_KEY,
encoding: 'base32',
token: token,
window:10
});
console.log(expiry)
}
但我不知道如何将有效期设置为 10 分钟??
【问题讨论】:
-
如何知道secret的字段值。我在哪里可以找到秘密 otp 密钥。
-
可以使用
// Generate a secret key. var secret = speakeasy.generateSecret({length: 20});生成秘钥
标签: javascript node.js express speakeasy