nodejs - JSONWebToken不会过期

Clu*_*dch 1 node.js jwt

我实现了 jsonwebtoken ( https://www.npmjs.com/package/jsonwebtoken ) 并制作了两个简单的函数。一种用于创建/签署具有到期时间的令牌,另一种用于验证令牌。

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

Int*_*ang 5

jsonwebtoken库只允许您签署对象,而不是字符串。一个问题表明规范对此有点不清楚,但库选择仅对对象进行操作。

这段代码按预期工作。请注意,我已将字符串替换为对象。

token = jwt.sign({ data: 'userdata' }, 'abc', {expiresInSeconds: 1});
setTimeout(function() {
  jwt.verify(token, 'abc', function(err, decoded) {
    console.log(err, decoded);
  })
}, 2000);
Run Code Online (Sandbox Code Playgroud)

输出:

{ name: 'TokenExpiredError',
  message: 'jwt expired',
  expiredAt: Sun Apr 19 2015 11:08:36 GMT-0700 (Pacific Daylight Time) }
Run Code Online (Sandbox Code Playgroud)