我正在尝试检查令牌是否已过期,并且在JWT过期时我得到了正确的结果,但是在用户令牌未过期时我遇到了错误。
const verified = jwt.verify(token, process.env.SECRET, (err) => {
if (err.name === "TokenExpiredError") {
return res.status(403).send({
status: 403,
message: "TokenExpired"
});
}
});
req.tokenData = verified;
令牌未过期时,出现以下错误:
(节点:12728)UnhandledPromiseRejectionWarning:TypeError:无法读取null的属性“名称”
答案 0 :(得分:1)
如果err
虚假,则需要首先检查err,这表示没有错误。否则,您可以继续使用代码检查错误名称。
const verified = jwt.verify(token, process.env.SECRET, (err) => {
if (err) {
if (err.name === "TokenExpiredError") {
return res.status(403).send({
status: 403,
message: "TokenExpired"
});
}
} else {
// token is good
}
})