在Angular中设置和覆盖请求头的正确方法



由于我们正在使用的身份验证方法,我需要为所有请求设置一个全局http标头。我们有一个身份服务器,使用SSO方法对用户进行身份验证。到目前为止,我们使用拦截器来全局设置头文件。但有时我们需要向不使用任何身份验证方法的第三方API发出请求。我如何重写拦截器配置的身份验证头?这是解决这个问题的推荐方法吗?

在你的拦截器中,你可以写一些逻辑来决定你是否需要添加标题:

.factory('AuthHeaderInterceptor', function () {
  function request(config) {
    //if 3rd party url, don't add auth header
    if(config.url.indexOf('third_party_url') !== -1) {
      return config;
    }
    config.headers.Authorization = 'auth header';
    return config;
  }
  return {
    request: request
  };
});

最新更新