带有Angular JS Refresh Token问题的Auth0(未经授权)

时间:2016-09-12 17:53:41

标签: javascript angularjs auth0

我正在尝试使用AnguarJS的auth0并且基本的登录功能正在运行,但是当我使用refreshToken生成新的IdToken并将新生成的idToken传递给API调用但是不知何故API甚至刷新了返回的refreshIdToken方法一个新的令牌。

我在配置文件中使用它来生成新令牌。

authProvider.init({
    domain: 'kumar.auth0.com',
    clientId: '812vcly1OgIwM3j13dzyZ34mMUMFPE1' 
});

var refreshingToken = null;
var idToken = null;    

jwtInterceptorProvider.tokenGetter = function($http, jwtHelper, auth, AuthService, HttpRequest) {
     var user = AuthService.getUser() ? JSON.parse(AuthService.getUser()) : AuthService.getUser();

    if(user) {
        idToken = user.accessToken; 
        refreshToken = user.refreshToken;
    }

    if (!idToken || !refreshToken) {
        return null;
    }
    if (jwtHelper.isTokenExpired(idToken)) {  
        return auth.refreshIdToken(refreshToken).then(function(newToken) { 
         var user = AuthService.getUser() ? JSON.parse(AuthService.getUser()) : AuthService.getUser();

        user ?  user['accessToken'] = newToken : null;
            HttpRequest.setToken(newToken);
            AuthService.setUser(user, configurations.expiryTime);
            return newToken;
        });
    } else {
        return idToken;
     }   
};
$httpProvider.interceptors.push('jwtInterceptor'); 

请在我错的地方帮忙。

0 个答案:

没有答案