从Angular获取请求时,标题无法提供服务

时间:2017-03-30 16:32:09

标签: javascript angularjs http-headers authorization

我有一个角度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的新手,因此几乎不知道如何诊断或解决此类问题。有人可以告诉我可能的错误/如何排除故障吗?

1 个答案:

答案 0 :(得分:0)

问题出在API网关中。它无法进行跨源调用,因此API调用在那里终止,因此授权标头没有到来。