我正在尝试按照这种方法使用 AngularJS 和 NodeJS 的基于令牌的身份验证来创建登录服务
使用 Angular 拦截器,我能够在每个标头请求中发送保存在本地存储中的身份验证令牌,但是当我重新加载页面时,令牌不会发送到服务器并将我重定向到登录页面,因为请求没有有令牌
如何解决重新加载页面问题?
这是我的角度代码
app.factory('httpRequestInterceptor', function ($q, $location,localStorageService) {
return {
request: function (config) {
config.headers['auth'] = localStorageService.get('token');
return config;
},
responseError: function(response) {
if(response.status === 401 || response.status === 403) {
/* I need to resend the same request with token included here
* if the token exist in local storage
*/
$location.path('/login');
}
return $q.reject(response);
}
};
});
// then in app config
app.config(function ($locationProvider, $httpProvider) {
$httpProvider.interceptors.push('httpRequestInterceptor');
});