nodejs - JSONWebToken没有过期

时间:2015-06-13 02:28:48

标签: node.js

使用jsonwebtoken

创建令牌时,我遇到jwt.sign(data, secret, {expiresInMinutes: 30});的问题

当我解码这个令牌时,它没有elemnet exp和iat。它只是数据。所以我无法检查令牌的到期时间。

我不知道为什么。

1 个答案:

答案 0 :(得分:0)

如果您要签名字符串,那么 iat exp 属性将是未定义的:

var jwt = require('jsonwebtoken');
var secret = 'shhh';
var expiration = {
  expiresInMinutes: 30
};

var data = 'wilson';
var token = jwt.sign(data, secret, expiration);
var decoded = jwt.decode(token);

console.log(decoded.iat); // undefined
console.log(decoded.exp); // undefined

尝试签署JSON数据:

var jwt = require('jsonwebtoken');
var secret = 'shhh';
var expiration = {
  expiresInMinutes: 30
};

var data = {name: 'wilson'};  
var token = jwt.sign(data, secret, expiration);
var decoded = jwt.decode(token);

console.log(decoded.iat); // 1434212929
console.log(decoded.exp); // 1434214729