如何让Keycloak注销未设置的会话?

问题描述 投票:0回答:1

我有一个配置,我使用Keycloak作为身份代理,并使用自定义身份提供程序(使用Spring Security OAuth)来提供用户信息。

我观察到的是,当我尝试注销时(使用前频道流),包括KEYCLOAK_IDENTITY在内的Keycloak cookie仍然存在。我希望看到Set-Cookie标题将过期设置为过去的某个日期。

这意味着如果我然后转到受保护的端点/页面,我就可以在不重新登录的情况下访问该资源.Keycloak从KEYCLOAK_IDENTITY cookie读取IdToken值并使用它来重新验证用户。

如何配置Keycloak以完全记录用户?

session cookies logout keycloak
1个回答
0
投票

解决方案隐藏在Keycloak源代码中:

  • 如果我在Identity Provider配置中指定了注销URL,Keycloak将不会取消自己的cookie。参考:OIDCIdentityProvider.keycloakInitiatedBrowserLogout()。此方法需要返回null,以便Keycloak取消设置其cookie。
© www.soinside.com 2019 - 2024. All rights reserved.