Angular拦截器在获取刷新令牌后重新加载视图

时间:2014-11-25 14:42:35

标签: angularjs authentication jwt

我有一个JWT的实现,当令牌过期时我得到401然后我这样做:

  1. 发送获取新令牌的请求。 2.重新发送用户之前的请求。
  2. 在此之前,数据未显示在页面中,因为令牌无效,但现在令牌有效后我重新发送用户提出的请求,如何刷新状态或控制器自动显示数据用户之前问过吗?

    'responseError': function(rejection) {
                if (rejection.status === 401) {
                    var $http = $injector.get('$http');
                    AuthService.getRefreshToken().then(function(res) {
    
                   //here im sending back the original user request again
    //and now when the data is coming back because the token is valid now i want display that to the user
                        return $http(rejection.config);
                    });
    
                }
            }
    

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我使用这个模块:

angular-http-auth

将此内容添加到您的应用后,只需添加以下代码:

'responseError': function(rejection) {
            if (rejection.status === 401) {
                AuthService.getRefreshToken().then(function(res) {
                     // make sure you are inject the authService
                     authService.loginConfirmed();                 
                });
            }
        }

就是这样,您的代码将继续有效。