【发布时间】:2020-09-23 04:45:10
【问题描述】:
我在节点 10.16.0 上使用 jsonwebtoken 8.5.1。到目前为止我的代码是
jwt.sign(
{
role:'role'
},
key,
{
issuer:'hey',
subject:username,
expiresIn:Math.floor(Date.now() / 1000) + 604800
},
function(err, token) {
if (err) {rejected('token related error');}
resolved({token:token}); // is inside a promise, so I use resolved/rejected
}
);
至少,我是这么理解的,第一部分是有效载荷,你可以包含任何你喜欢的数据。
然后我的代码来验证它
jwt.verify(token, key,function(err, decoded) {
if (err){
console.log('VERIFY ERROR', err);
}
if (decoded){
console.log('VERIFY', decoded.role);
}
});
当我尝试验证它时,我没有收到任何错误,但decoded.role 部分返回undefined,它应该返回role
我错过了什么?请指教
谢谢
【问题讨论】:
-
对我来说看起来不错,无法重现错误。在jwt.io 上检查您在第一部分中生成的令牌,并确保包含该角色。旁注:为什么你的令牌有效期到 2070 年 11 月 13 日?