我正在尝试使用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');
请在我错的地方帮忙。