我正在使用angular-oauth2-oidc。 我有以下设置:
oauthConfig.clientId = authConfig.clientId;
oauthConfig.redirectUri = this.checkURL(authConfig.redirectUri);
oauthConfig.scope = authConfig.scope;
oauthConfig.oidc = true;
oauthConfig.issuer = this.checkURL(authConfig.issuer);
oauthConfig.requireHttps = authConfig.requireHttps;
oauthConfig.silentRefreshRedirectUri = this.checkURL(authConfig.redirectUri + /silent-refresh.html');
this.oauthService.configure(oauthConfig);
this.oauthService.setupAutomaticSilentRefresh();
执行静默刷新时,我需要获取新的访问令牌并将其传递给应用程序的其他部分。这是我尝试获取令牌的方式:
this.oauthService.events.subscribe(({ type }) => {
switch (type) {
case 'token_refreshed':{
//This event doesn't get detected when the automatic silent refresh happens
break;
}
case 'silently_refreshed':{
//This event doesn't get detected when the automatic silent refresh happens
break;
}
case 'token_expires':{
this.oauthService.silentRefresh().then(()=>{
//Here I want to pass the new token to the other parts of the app
}).catch((err)=>{ return; });
break;
}
}
});
当我手动执行静默刷新时,出现一条错误消息:“验证access_token失败。错误的状态/时间。”
我还设置了自动静默刷新,但是在进行静默刷新时不会触发事件,因此我也无法将令牌传递到应用程序的其他部分。
我做错什么了吗?
我正在使用initImplicitFlow()BTW。