我正在使用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;
}
验证OTP
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分钟?
答案 0 :(得分:0)
通过阅读文档,您可以发现基本step
为30秒,因此,如果要使到期时间为10分钟,则需要将step
设置为{{1} }。然后,使用60
方法,您应该能够检查令牌是否过期。
verifyDelta