我有点被这个难住了。我正在尝试设置一个有效的 JWT。我正在使用带有 jsonwebtoken 中间件的 node.js。我遵循了位于 repo 上的文档(位于此处),但我一直得到错误的 Exp 和 Iat。显然,我想做到这一点,这样我就不允许 JWT 已经过期。
作为测试,我有以下代码:
var token = jwt.sign({"id": user._id}, configGeneral.JWT, { expiresIn: '1h' });
var decoded = jwt.decode(token, configGeneral.JWT);
var d1 = new Date(decoded.exp);
var d2 = new Date(decoded.iat);
console.log(decoded);
console.log(d1);
console.log(d2);
这个的输出是:
{ id: '56253091fe0397c80133f3e4',
iat: 1445714161,
exp: 1445717761 }
Sat Jan 17 1970 19:35:17 GMT+0200 (South Africa Standard Time)
Sat Jan 17 1970 19:35:14 GMT+0200 (South Africa Standard Time)
如何让时间戳不反映 javascript 纪元,而是反映 1 小时后的时间?(对于 iat 和 exp。)