由于我们正在使用的身份验证方法,我需要为所有请求设置一个全局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
};
});