express-jwt 总是 return 401

express-jwt always return 401

我正在尝试使用 express-jwt 进行 jwt 验证。

它正在工作,但它只提供 401 状态,而不是任何自定义验证消息。

app.use(function (err, req, res, next) {
  if (err.name === "UnauthorizedError") {
    res.status(402).send("invalid token...");
  }
});

app.get("/", jwt({ secret: "MY_SECRETT_KEY" }), (req, res) => {
  console.log('eeeeeeeeeeeeeeeeeeeeeee', req.user);
  res.json({ message: "success" });
});

它不发送 402 状态,但默认只发送 401。

在这方面需要一些帮助。

app.get("/", jwt({ secret: "MY_SECRETT_KEY" }), (req, res) => {
  console.log('eeeeeeeeeeeeeeeeeeeeeee', req.user);
  res.json({ message: "success" });
});

app.use(function (err, req, res, next) {
  if (err.name === "UnauthorizedError") {
    res.status(402).send("invalid token...");
  }
});

应该在最后添加错误处理程序。

您可以将中间件想象成楼梯上的台阶,而错误处理程序就是地板。你是请求,你正在下楼梯,当你从其中一个台阶 trip/fail 时,你会直接跌倒在地。