nodejs - JSONWebToken 不会过期
nodejs - JSONWebToken does not expire
我实现了 jsonwebtoken (https://www.npmjs.com/package/jsonwebtoken) 并做了两个简单的函数。
一个用于 create/sign 一个带有到期时间的令牌,一个用于验证令牌。
我使用 jwt.sign('userdata', 'abc', {expiresInSeconds: 1});
对令牌进行签名。
令牌应在一秒钟后过期,但是当我使用 jwt.verify(token, 'abc', function(err, decoded) { }
验证令牌时,var err
为空并且 decoded
returns userdata
.
jsonwebtoken
库只允许您签署 对象 ,而不是字符串。 An issue 表明规范对此有点不清楚,但库选择仅对对象进行操作。
此代码按预期工作。请注意,我已将字符串替换为对象。
token = jwt.sign({ data: 'userdata' }, 'abc', {expiresInSeconds: 1});
setTimeout(function() {
jwt.verify(token, 'abc', function(err, decoded) {
console.log(err, decoded);
})
}, 2000);
输出:
{ name: 'TokenExpiredError',
message: 'jwt expired',
expiredAt: Sun Apr 19 2015 11:08:36 GMT-0700 (Pacific Daylight Time) }
我实现了 jsonwebtoken (https://www.npmjs.com/package/jsonwebtoken) 并做了两个简单的函数。 一个用于 create/sign 一个带有到期时间的令牌,一个用于验证令牌。
我使用 jwt.sign('userdata', 'abc', {expiresInSeconds: 1});
对令牌进行签名。
令牌应在一秒钟后过期,但是当我使用 jwt.verify(token, 'abc', function(err, decoded) { }
验证令牌时,var err
为空并且 decoded
returns userdata
.
jsonwebtoken
库只允许您签署 对象 ,而不是字符串。 An issue 表明规范对此有点不清楚,但库选择仅对对象进行操作。
此代码按预期工作。请注意,我已将字符串替换为对象。
token = jwt.sign({ data: 'userdata' }, 'abc', {expiresInSeconds: 1});
setTimeout(function() {
jwt.verify(token, 'abc', function(err, decoded) {
console.log(err, decoded);
})
}, 2000);
输出:
{ name: 'TokenExpiredError',
message: 'jwt expired',
expiredAt: Sun Apr 19 2015 11:08:36 GMT-0700 (Pacific Daylight Time) }