我正在尝试使用基本身份验证调用端点。我制作了一个需要进行api调用的REACT应用程序。
这是我的代码:
const base64 = require('base-64');
const login = base64.encode("username:password");
const fetchTemplates = async () => {
console.log(login); // shows: dXNlcm5hbWU6cGFzc3dvcmQ=
const response = await fetch("http://localhost:8080/students/chat/templates", {
mode: "no-cors",
headers: new Headers({"Authorization": `Basic ${login}`})
});
const data = await response.json();
if (response.status > 400) {
console.log(data.errors);
throw new Error(data.errors);
}
console.log(data);
return data;
}
export { fetchTemplates }
我不确定我在做什么错。使用我在代码中使用的相同凭据,从浏览器访问端点可以正常工作。通常,我应该能够在控制台的请求标头中看到授权。但是什么都没有。
欢迎任何帮助。
谢谢。
答案 0 :(得分:1)
长话短说:无芯模式限制了您可以发送的标头的种类。授权不是这些标头之一。因此,您必须删除no-cors模式才能使用Authorization标头。