2017-04-17 63 views
0

我使用非法经营库来产生一个时间OTP https://www.npmjs.com/package/speakeasy增加一倍OTP的超时时间节点JS

var token = speakeasy.totp({ 
      secret: secret.base32, 
      encoding: 'base32', 
      step:300 
     }); 

     console.log(token); 

     var verified = speakeasy.totp.verify({ 
      secret: secret.base32, 
      encoding: 'base32', 
      token: token 
     }); 
     console.log(verified); 

但是,当我的step参数值增加300(5分钟后过期令牌)我会得到falseconsole.log(verified)

那么最新的正确方法来增加令牌过期时间?

回答

0

请试试time选项。通过time选项,您可以获得自定义时间的基于时间的标记。

var token = speakeasy.totp({ 
    secret: secret.base32, 
    encoding: 'base32', 
    time: 1453667708 // specified in seconds 
}); 

希望它能帮助你!

+0

我试过了,但超时没有奏效 – Jabaa

+0

你有没有在'时间'中给出正确的时间戳?这个例子中的时间戳是旧的。 –

+0

'time:300'是我的值(5分钟) – Jabaa