繁体   English   中英

为什么 axios 从授权 header 中删除“承载”字符串?

[英]Why axios remove "Bearer" string from authorization header?

我在使用不记名令牌时遇到了 axios 和 GET 请求的问题。 这是我的代码:

      const response = await axios.post("/auth/login", {
        ...form
      });

      const token = response["token"];
      if (token) {
        localStorage.setItem("session", token);

        console.log(token); //a234o2i3nr203fn20jef0293...
        const tokenHeader = {
          authorization: `Bearer ${token}`
        }

        const projects = await axios.get('/projects', { headers: { "authorization": `Bearer ${token}`}});
        console.log(projects); //UNAUTHORIZED

      }
        

登录帐户后,我想立即获取有关项目的数据,因此我使用 axios 并尝试使用axios.get授权 header。 但是,由于我未知的原因,我的服务器部分请求已交付但在我的token之前没有Bearer字符串,我的服务器在此请求上有这个:

headers: {
    authorization: "a234o2i3nr203fn20jef0293..." //axios remove `Bearer` string?
}

因此,我无法返回任何值,因为我的服务器未经授权返回给我,原因如下:

    const token = authHeaders && authHeaders.split(" ")[1];

返回我 null 而不是令牌。

有人能告诉我这个 axios 请求有什么问题吗?

谢谢你的帮助!

尝试写“授权”而不是“授权”。 我以前也遇到过这样的问题。

const projects = await axios.get('/projects', { headers: { "Authorization": `Bearer ${token}`}});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM