使用基本身份验证获取端点会产生401

时间:2019-08-22 18:58:50

标签: javascript reactjs

我正在尝试使用基本身份验证调用端点。我制作了一个需要进行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 }

我不确定我在做什么错。使用我在代码中使用的相同凭据,从浏览器访问端点可以正常工作。通常,我应该能够在控制台的请求标头中看到授权。但是什么都没有。

欢迎任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

长话短说:无芯模式限制了您可以发送的标头的种类。授权不是这些标头之一。因此,您必须删除no-cors模式才能使用Authorization标头。