如何在简单的库中增加令牌的有效时间。
var secret =speakEasy.generateSecret({length:20});
var token = speakEasy.totp({
secret: secret.base32,
encoding: 'base32',
step:100
});
默认情况下,在验证为false后的几秒钟内有效
var verified=speakEasy.totp.verify({
secret:secret,
encoding:'base32',
token:token
});
您可以查看以下链接
http://speakeasyjs.github.io/speakeasy/docs/speakeasy/2.0.0/global.html https://github.com/speakeasyjs/speakeasy
答案 0 :(得分:0)
根据您提供的documentation links,step
是time
和epoch
用于在一段时间后使令牌无效的属性。
var secret = speakEasy.generateSecret({length:20});
var token = speakEasy.totp({
secret : secret.base32,
encoding : 'base32',
// time : Date.new(), default is current time.
// epoch : 0, default is 0. It is the offset from UNIX epoch.
// step is used, with time as time + step, to invalidate the token.
step : 100
});
因此,如果将epoch
和time
设置为默认值,则可以使用step
来定义令牌有效时间(以秒为单位)。您使用了step : 100
。这就是为什么你的令牌在100秒后无效。因此,如果您增加step
的时间,则可以增加令牌的有效性。
注意:时间以秒为单位。
希望这会有所帮助。或查询评论。