我在react项目中使用fetch从使用令牌进行身份验证的API获取数据,我在postman中的登录端点在authorization头中返回令牌,您可以看到
这是我在reactjs项目中的登录函数
async login(dataLogin) {
const response = await fetch(`${API_URL}/login`, {
method: "post",
headers: {
"Content-Type": "application/json"
},
body: dataLogin
});
const data = await response
console.log(response.headers);
console.log(response.headers.Authorization);
console.log(response.headers.get('Authorization'));
return data;}
您可以看到response.headers.authorization返回未定义和
get('授权')返回空值。
你可以在浏览器的网络面板
中看到
请问有谁知道如何从报头中获取授权令牌吗?
3条答案
按热度按时间wmtdaxz31#
当您尝试使用API登录时,您应该收到数据,即授权令牌或调用响应中的任何其他内容。
检查当你调用一个API时你得到了什么样的响应,它可能应该像
response.data
一样。首先你需要在Postman中检查同样的响应。mbjcgjjk2#
要访问响应标头的值,服务器必须在Access-Control-Expose-Headers标头中返回标头名称。如果没有它,则无法在浏览器中访问
Authorization
。emeijp433#
由于您得到的是
null
,请考虑以下情况:Authorization标头通常(但不总是)在用户代理首次尝试在没有凭据的情况下请求受保护资源之后发送。https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization
因此,为了查看响应头,请使用浏览器的网络面板,而不是使用postman。