使用angular.js拦截器重新加载页面后再次发送身份验证令牌

时间:2016-01-06 15:18:17

标签: angularjs node.js authentication angular-http-interceptors

我正在尝试使用AngularJS& amp ;;使用基于令牌的身份验证来创建登录服务。 NodeJS跟随this approach

使用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'); 
});

0 个答案:

没有答案