(节点:12728)UnhandledPromiseRejectionWarning:TypeError:无法读取null的属性“名称”

时间:2019-10-22 08:55:20

标签: node.js jwt

我正在尝试检查令牌是否已过期,并且在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的属性“名称”

1 个答案:

答案 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
    }

})