nodejs – JSONWebToken不会过期

我实现了jsonwebtoken( https://www.npmjs.com/package/jsonwebtoken )并做了两个简单的function。 一个用于创build/签署具有到期时间的令牌,另一个用于validation令牌。

我使用jwt.sign('userdata', 'abc', {expiresInSeconds: 1}); 签署令牌。 令牌应该在一秒后过期,但是当我使用jwt.verify(token, 'abc', function(err, decoded) { }validation令牌时jwt.verify(token, 'abc', function(err, decoded) { }是空的并且decoded返回userdata

jsonwebtoken库只允许你签署对象 ,而不是string。 一个问题表明,这个规范有点不清楚,但图书馆select只对Objects进行操作。

此代码按预期工作。 请注意,我用一个对象replace了string。

 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) }