【问题标题】:express-jwt always return 401express-jwt 总是返回 401
【发布时间】:2020-08-28 14:26:01
【问题描述】:

我正在尝试使用 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。

在这方面需要一些帮助。

【问题讨论】:

    标签: node.js express express-jwt


    【解决方案1】:
    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...");
      }
    });
    

    应该在末尾添加错误处理程序。

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

    【讨论】:

    • 谢谢,解释也很好。
    猜你喜欢
    • 2021-10-11
    • 2019-08-29
    • 2018-05-19
    • 2021-11-12
    • 2018-01-01
    • 2018-09-10
    • 2020-05-05
    • 2018-01-09
    • 2016-05-22
    相关资源
    最近更新 更多