我当前的 Angular 7 PWA 应用程序在过期后无法更新 OIDC 令牌(通过azure adfs获得)id_token
:所有silentRefresh()
调用都失败并出现以下错误:
AADSTS50058:A silent sign-in request was sent but no user is signed in
相反,到期时间内的所有silentRefresh()
操作都会成功执行。id_token
我的 OauthService 初始化如下:
init() {
this.oauthService.events.subscribe(e => e instanceof OAuthErrorEvent ? console.error(e) : console.warn(e));
this.oauthService.configure({...APP_CONFIG.auth.OIDC.config,
postLogoutRedirectUri: window.location.origin,
requestAccessToken: true,
showDebugInformation: true,
strictDiscoveryDocumentValidation: false,
responseType: 'id_token token',
silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
});
this.oauthService.tokenValidationHandler = new JwksValidationHandler();
this.oauthService.loadDiscoveryDocument();
this.oauthService.setupAutomaticSilentRefresh();
}
APP_CONFIG.auth.OIDC.config
存储与问题无关的所有端点。
我该如何解决这种情况?我在 github 上关注了这个答案,事实上,即使所有响应都包含Set-Cookie=
标头,也看不到存储在我的应用程序域中的任何 cookie。也许问题与我的应用程序域中缺少 cookie 有关?