Keycloak SSO 会话最大值 = 0?

Posted

技术标签:

【中文标题】Keycloak SSO 会话最大值 = 0?【英文标题】:Keycloak SSO Session Max = 0? 【发布时间】:2021-09-19 00:27:38 【问题描述】:

当用户关闭浏览器/标签时,Keycloak SSO 会话是否可能无效?

根据docs,我应该可以通过将SSO Session IdleSSO Session Max设置为0来做到这一点。

虽然将其设置为0,但我无法保存设置。我在这里有什么误解?当用户关闭浏览器/标签时,是否可以注销用户?

【问题讨论】:

【参考方案1】:

Keycloak 无法在浏览器关闭时终止服务器端会话,因为它不知道浏览器已关闭。但由于您的 SSO cookie 是会话 cookie,您的浏览器将在浏览器关闭时删除 cookie。如果没有该 cookie,您在再次连接浏览器时将不得不重新登录。 只要确保您没有在Realm settings -> Login 启用“记住我”功能即可。

但是,据我所知,关闭选项卡时不支持此操作。

【讨论】:

我想这就是问题所在。 SSO cookie 不是会话 cookie。它的有效期为 10 小时。我想将过期时间设置为 0,所以它作为会话 cookie 处理。 我不确定您指的是哪个 cookie。除非您启用“记住我”,否则 KEYCLOAK_IDENTITY 和 AUTH_SESSION_ID 都是会话 cookie。您指的是 KEYCLOAK_SESSION cookie 吗?将生命周期设置为 0 的目的是什么?有了这个,你基本上会禁用 SSO。

以上是关于Keycloak SSO 会话最大值 = 0?的主要内容,如果未能解决你的问题,请参考以下文章

Keycloak 2.2.0.Final 发布,SSO 集成解决方案

Red Hat SSO 7.3.0.GA 的 Keycloak API 调用依赖项

是否可以通过 SSO 将旧 CAS 3.5.3 服务器的身份验证传递到最近的 Keycloak 15.0.2?

Keycloak 多域登录

SSO 与 SAML、Keycloak 和 Nextcloud

keycloak 了解