当应用程序包含令牌时,Angular $ http.get会失败吗?

时间:2017-06-05 00:07:35

标签: angularjs

我一直试图搜索这个问题无济于事我会解释这个情况。

我有一个角度应用程序,可以使用jwt令牌验证我们在令牌中存储令牌。当我登录到应用程序并尝试使用外部API(musicbrainz)时,我收到错误400.

如果我没有登录,请求确实在大部分时间都有效,有时候我会得到503或400不太确定它是否与api相关但基本上已经注销了对api的请求。

我假设它与x-access-token的设置有关,我的应用程序使用http拦截器来检测令牌。

如何在标题中包含令牌时获取api请求?干杯球员

1 个答案:

答案 0 :(得分:0)

您需要选择何时应用Authorization标题(或您正在使用的标题)。

我建议在你的拦截器中使用一些自定义的配置逻辑,比如这个

request: function(config) {
  if (!config.external) {
    config.headers.Authorization = 'Bearer '  + whatever
  }
  return config
}

然后,在您对外部API的请求中,只需添加以下配置

即可
$http.get('http://musicbrainz.api', {
  external: true
})

另一种方法是检查config.url并仅将Authorization标头应用于相应的服务。