我正在使用keycloak.logout()
从angular4和angularjs应用程序注销。我可以成功注销,但在注销后,当我转到密钥斗篷服务器时,我的会话处于活动状态。如何解决这个问题?
我知道这个线程已经有好几年的历史了,但作为最近遇到这个问题并设法解决它的人,我认为我应该给它一个响应。
在我的案例中,问题是由于在锚点标记的(click)
事件上调用keycloak.logout()
函数引起的。通过将函数调用更改为由按钮触发,会话似乎正确地关闭并重定向到登录页面。
更具体地说,给定一些具有logOut()
功能的组件:
logout.component.ts
async logOut() {
await this._keycloak.logout(window.location.origin)
}
使用:
logout.component.html
<a href="..." (click)="logOut()"> Log Out </a>
会导致会话不关闭,但通过将<a>
替换为<button>
,问题得到了解决。
signout.component.html
<button (click)="logOut()" clrDropdownItem>Log out</button>