是否可以基于每个服务覆盖我的authInterceptor?
我想要完成的任务:
我正在为自己的api使用JWT,但偶尔我使用的是Google Apis,需要将我的授权标头重置为我的google身份验证令牌,而不是我的本地身份验证令牌。这是我到目前为止所拥有的。它使用我自己的api令牌在全站点设置我的授权标头。那么如果我要创建一个GoogleService,我该如何覆盖呢?
services.factory('authInterceptor', function ($rootScope, $q, $window, $log, localStorageService) {
return {
request: function (config) {
config.headers = config.headers || {};
config.headers.Authorization = 'Bearer '+localStorageService.get('token');
return config;
},
response: function (response) {
return response || $q.when(response);
}
};
});
services.config(function ($httpProvider) {
$httpProvider.interceptors.push('authInterceptor');
});