即使使用对象文字,expiresIn 也无法在 jsonwebtoken.sign() 中工作
expiresIn not working in jsonwebtoken.sign() even with object literal
这是我的代码,如您所见,I am using an object literal as suggested in the jsonwebtoken library help,但结果始终相同
const TOKEN = {
JWT: JWT.sign({
iat: Date.now(),
data: {
username: USER.name,
userLevel: USER.level,
userId: USER._id,
limit: USER.limit,
has2FA: USER.has2FA
}
}, SECRET_KEY,
{ expiresIn: 60 * 60 * 12 }
)
}
如您所见,此代码 returns iat 和 exp 都只有几分钟和几秒的差异,而不是我想要的 12 小时。
关于为什么会发生这种情况的任何想法?
编辑:我正在使用jsonwebtoken和Dayjs显示时间。
问题似乎与您在 毫秒 内指定 iat
而预期在 秒.所以要么
iat: Date.now()/1000,
或完全删除 属性 因为这是默认值。
这是我的代码,如您所见,I am using an object literal as suggested in the jsonwebtoken library help,但结果始终相同
const TOKEN = {
JWT: JWT.sign({
iat: Date.now(),
data: {
username: USER.name,
userLevel: USER.level,
userId: USER._id,
limit: USER.limit,
has2FA: USER.has2FA
}
}, SECRET_KEY,
{ expiresIn: 60 * 60 * 12 }
)
}
如您所见,此代码 returns iat 和 exp 都只有几分钟和几秒的差异,而不是我想要的 12 小时。
关于为什么会发生这种情况的任何想法?
编辑:我正在使用jsonwebtoken和Dayjs显示时间。
问题似乎与您在 毫秒 内指定 iat
而预期在 秒.所以要么
iat: Date.now()/1000,
或完全删除 属性 因为这是默认值。