【发布时间】:2021-08-19 15:59:02
【问题描述】:
这是我第一次将 jwt 与 npm jsonwebtoken 一起使用,这是我的代码:
//create a token for user
const token = jwt.sign({ _id: user._id, email:user.email }, 'secret', { issuer:'Dio', expiresIn: '1h' })
//get the token from req.header
const token = req.header('Authorization').replace('Bearer ', '')
jwt.verify(token, "secret", (err, decode)=>{
try{
console.log(decode);
}catch(err){
console.log(err);
}
})
认证失败时,总是打印出“undefined”。
然后我尝试其他方法:
jwt.verify(token, "secret", (err, decode)=>{
if(err){
console.log(err);
}else{
console.log(decode);
}
})
当令牌正确时它可以正常工作,否则我会收到如下错误消息:
JsonWebTokenError: invalid token
或
SyntaxError: Unexpected token ȗ in JSON at position 0
但我希望能得到npm文档中显示的信息如:
err = {
name: 'TokenExpiredError',
message: 'jwt expired',
expiredAt: 1408621000
}
【问题讨论】:
-
您也可以包含令牌...可能更容易协助...
-
谢谢,我已经编辑了我的问题以使其更清楚。