如何表达有效载荷的exp字段?
jwt.sign({
_id: this._id,
email: this.email,
name: this.name,
exp: //how do I set this value ?,
}, "MY_SECRET");
在文档中没有明确解释
https://github.com/auth0/node-jsonwebtoken
从我在这里的示例代码:
userSchema.methods.generateJwt = function() {
var expiry = new Date();
expiry.setDate(expiry.getDate() + 7);
return jwt.sign({
_id: this._id,
email: this.email,
name: this.name,
exp: parseInt(expiry.getTime() / 1000),
}, "MY_SECRET");
};
我假设" exp"表示令牌的到期日期,以纪元为单位,以秒为单位。 正确吗?
答案 0 :(得分:0)
这完全取决于应用程序的类型,这是我们推荐的方法。
一个好的模式是在令牌到期之前刷新它。
将令牌过期时间设置为一周,并在每次用户打开Web应用程序时每隔一小时刷新一次令牌。
要刷新令牌,您的api需要一个新端点,该端点接收有效的,未过期的JWT,并返回带有新过期字段的相同签名JWT。然后,Web应用程序会将令牌存储在某处。
答案 1 :(得分:0)
刚刚测试过,是“exp”表示令牌的到期日期,从纪元开始的几秒钟内,但未在文档中说明。