在nodejs中使用speakeasy生成OTP:设置到期时间

时间:2018-09-22 20:15:13

标签: javascript node.js express speakeasy

我正在使用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分钟?

1 个答案:

答案 0 :(得分:0)

通过阅读文档,您可以发现基本step为30秒,因此,如果要使到期时间为10分钟,则需要将step设置为{{1} }。然后,使用60方法,您应该能够检查令牌是否过期。

verifyDelta