【问题标题】:axios REST call with JWT使用 JWT 的 axios REST 调用
【发布时间】:2019-02-15 06:54:29
【问题描述】:

我正在运行本地 REST-API。当我用 Postman 测试它时,我得到以下结果:

  1. 使用下面代码中显示的相同参数和 URL 获取 JWT
  2. 在请求中使用获得的 JWT 来获取具有相同参数和 'X-authorization' 标头如下面的代码所示。

当我对 axios 执行相同操作时,出现权限错误:

    axios
      .request({
        method: "get",
        baseURL: "http://localhost/api/",
        params: {
          action: "login",
          username: "user",
          password: "pass"
        }
      })
      .then(function(res) {
        const token = res.data.JWT; //token is correct
        axios
          .get(
            "http://localhost/api/index.php?action=list&object=media",
            {
              headers: {
                "X-Authorization": "Bearer " + token
              }
            }
          )
          .then(function(res) {
            console.log(res);
          });
      });

问题:第二次请求失败,返回权限错误。

屏幕截图 1:控制台出错

Screenshot2:在 Postman 中取得成功

屏幕截图 3:请求标头

【问题讨论】:

  • 你能复制/粘贴错误吗?
  • "返回权限错误" — 您需要引用错误消息,而不是模糊地描述它们。
  • 您对 Postman 有什么要求?您对数据使用什么编码?
  • 尝试将“X-Authorization”更改为“Authorization”。承载授权不适用于标头“X-...”
  • @KirillMatrosov 它在 Postman 中完美运行。刚刚测试授权没有成功...

标签: javascript rest axios


【解决方案1】:

问题在于其余服务器上的设置。获取 JWT 和数据请求之间存在最小延迟。

【讨论】:

    猜你喜欢
    • 2020-12-26
    • 2020-07-21
    • 1970-01-01
    • 2019-11-02
    • 2021-06-12
    • 2021-05-31
    • 2020-08-29
    • 2019-02-01
    • 1970-01-01
    相关资源
    最近更新 更多