Angular 8和Okta注销无法正常工作,因为用户已在应用内重定向

问题描述

我在Angular 8应用中实现了Okta身份验证。当我点击注销按钮时,会话终止,并且退出了Okta应用程序,但是由于我在okta中配置的注销URL是用于localhost:4200/dashboard的,因此它将我重定向dashboard组件。发布成功注销后,我想将用户导航到localhost:4200/login我有两个问题,我尝试过

 async logout(){
await this.oauthService.logout();
this.router.navigate(['/login']);
}
// but this does not redirect user to login.

而且,我尝试让Okta支持退出按钮位于导航栏中,并且可以从不同的URL进行点击,而不必localhost:4200/dashboard,因为导航栏位于应用程序的每个页面上。他们提到只能从单个URL路径进行配置。如何从不同的组件以及不同的URL路径实现注销。

解决方法

您只需要注册一个Post Logout Redirect URI,然后就可以从应用程序中的任何位置触发注销。

我会这样实现:

  • 提供登出后登陆页面
  • 在该页面上提供重新登录选项

我的一些资源可能会给您一些想法: