繁体   English   中英

请求头中包含不记名令牌时请求失败

[英]Request fails while having a bearer token in the header of the request

在请求标头中发送不记名令牌时,我遇到了获取 API 的问题。 问题是请求在标头中包含此令牌时失败,但是当标头中没有令牌并且请求可以获取时一切正常。 知道如何解决这个问题吗? 我真的很感激任何帮助。

const url = "https://something.com"
const token = "something";
const options = {
headers: {
  Accept: "application/json",
  Authorization: "Bearer " + token
 }
};
fetch(url, options)
 .then((res) => {
 if (res.ok) {
   return res.json();
 } else {
   throw Error("Error!");
 }
})
.then((data) => {
        ...
 })
.catch((error) => {
        ...
});

尝试更改 Accept 部分:

编辑:Access-Control-Allow-Origin 是 CORS(跨源资源共享)标头。

当站点 A 尝试从站点 B 获取内容时,站点 B 可以发送一个 Access-Control-Allow-Origin 响应标头来告诉浏览器该页面的内容可由某些来源访问。 (源是一个域,加上方案和端口号。)默认情况下,任何其他源都无法访问站点 B 的页面; 使用 Access-Control-Allow-Origin 标头为特定请求源的跨源访问打开了一扇门。

对于站点 B 想让站点 A 访问的每个资源/页面,站点 B 应使用响应标头为其页面提供服务:

Access-Control-Allow-Origin: http://siteA.com

在另一个帖子上找到的,可能也有帮助。

 const options = {
    headers: {
      Content-Type: "application/json",
      Authorization: `Bearer ${token}` //Change it too
    }
 };

与令牌相关,传递它的一种方法是这样的:

 const options = {
    headers: {
      //Something else...

      Authorization: `Bearer ${yourToken}`
    }
 };

暂无
暂无

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

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