【发布时间】:2021-10-29 19:01:13
【问题描述】:
我有一个 Angular 10 应用程序,其中 OIDC JS 客户端作为开放 ID 连接。在浏览器或标签页关闭时,我需要将用户重定向回登录页面。
通过将max_age 设置为 UserManager,功能可以正常工作,但是,静默令牌更新在使用应用程序时不起作用,它会重定向到登录页面。令牌已过期。
const settings: any = await response.json();
settings.automaticSilentRenew = true;
settings.includeIdTokenInSilentRenew = true;
settings.accessTokenExpiringNotificationTime = 30; // default 60
settings.checkSessionInterval = 5000; // default 2000;
settings.silentRequestTimeout = 20000;// default: 10000
settings.monitorSession = true;
settings.loadUserInfo = true;
settings.filterProtocolClaims = true;
settings.max_age = 10;
settings.prompt="login"
this.userManager = new UserManager(settings);
public async completeSignIn(url: string): Promise<IAuthenticationResult> {
try {
await this.ensureUserManagerInitialized();
const user = await this.userManager.signinCallback(url);
this.userSubject.next(user);
return this.success(user && user.state);
} catch (error) {
console.log('There was an error signing in: ', error);
return this.error('There was an error signing in.');
}
}
在进行一些搜索时,我发现prompt="login" 应该可以工作,但无法解决。如果应用程序处于活动状态,如果他们关闭浏览器或选项卡提示登录屏幕,我该如何实现静默令牌更新应该工作。
【问题讨论】:
标签: javascript asp.net identityserver4 openid-connect oidc-client-js