我编写了一个auth拦截器,它将auth令牌添加到请求中,并在用户未登录时处理身份验证错误。
var storeApp = angular.module('storeApp');
storeApp.factory('authInterceptor', function ($q, $window) {
return {
request: function (config) {
config.headers = config.headers || {};
if ($window.sessionStorage.token) {
config.headers.Authorization = 'Bearer ' + $window.sessionStorage.token;
}
return config;
},
response: function (response) {
return response || $q.when(response);
},
responseError: function (response) {
if (response.status === 401 || response.data.error === 'token_not_provided') {
console.log('auth error');
}
return $q.reject(response);
}
};
});
storeApp.config(function ($httpProvider) {
$httpProvider.defaults.withCredentials = true;
$httpProvider.interceptors.push('authInterceptor');
});
问题是auth拦截器被添加到每个请求,无论请求是否需要身份验证。创建一个仅在路由需要身份验证时才会截获的auth拦截器的最佳方法是什么?
答案 0 :(得分:0)
您需要在authInterceptor工厂方法中过滤掉您想要的请求
child_process.spawn