我有一个配置,我使用Keycloak作为身份代理,并使用自定义身份提供程序(使用Spring Security OAuth)来提供用户信息。
我观察到的是,当我尝试注销时(使用前频道流),包括KEYCLOAK_IDENTITY
在内的Keycloak cookie仍然存在。我希望看到Set-Cookie
标题将过期设置为过去的某个日期。
这意味着如果我然后转到受保护的端点/页面,我就可以在不重新登录的情况下访问该资源.Keycloak从KEYCLOAK_IDENTITY
cookie读取IdToken值并使用它来重新验证用户。
如何配置Keycloak以完全记录用户?
解决方案隐藏在Keycloak源代码中:
OIDCIdentityProvider.keycloakInitiatedBrowserLogout()
。此方法需要返回null,以便Keycloak取消设置其cookie。