我有一个角度JS应用程序,我从那里调用GET API。 API启用了OAuth 2.0,因此标头中需要承载令牌。所以,我这样调用http方法:
var config = {
headers: {
'Access-Control-Allow-Origin': '*',
'Authorization': "Bearer XXXXXXX"
}
};
$http.get("http://host:port/api_call", config)
.then(function (response) {
return response.data;
});
但是当我打这个电话时,我正在获得401 Unauthorized异常。最初我认为这是一个CORS问题,所以我将起源列入白名单来调用服务主机,但仍然没有工作。因此,我检查了日志,发现Authorization标头没有进入API应用程序,尽管angular发送的是相同的。 注意:这是从Angular进行服务调用的最佳方式吗? 我是Angular JS的新手,因此几乎不知道如何诊断或解决此类问题。有人可以告诉我可能的错误/如何排除故障吗?
答案 0 :(得分:0)
问题出在API网关中。它无法进行跨源调用,因此API调用在那里终止,因此授权标头没有到来。