【发布时间】:2015-02-21 13:40:46
【问题描述】:
我有身份验证拦截器和 JWT 身份验证。 当令牌过期时,我得到 401,我需要发送请求以刷新令牌。 刷新令牌后,我想重新发送用户请求,但它不起作用。
例如,进入我的账户标签,用户需要有有效的token,他点击我的账户得到401,然后发送刷新token并将有效token保存在本地存储中。
现在我希望拦截器自动执行用户的操作,在这种情况下转到我的帐户但我的方式不起作用,我该怎么做?
拦截器:
'responseError': function(rejection) {
var $state = $injector.get('$state');
var deffer = $q.defer();
if (rejection.status === 401) {
var $http = $injector.get('$http');
var AuthService = $injector.get('AuthService');
var user = store.get('user');
var cred = AuthService.refreshTokenValue(user.secretId, user.secretClient, user.refreshToken);
AuthService.getRefreshToken(cred).then(function(res) {
UserService.oAuth.accessToken = res.data.access_token;
// here i want to resend the request
return deffer.resolve(rejection);
});
}
return $q.reject(rejection);
}
【问题讨论】:
标签: javascript angularjs jwt