从身份提供商注销时,Keycloak 不会注销

Tob*_*obb 2 openid-connect keycloak

我正在将 keycloak 与远程 OIDC 提供商一起使用。当我从我的应用程序(与 Keycloak 通信)注销时,我也会从外部 OIDC 提供商注销。但是,当我尝试相反的方式时,通过从外部 OIDC 提供商注销,我仍然保持登录到 keycloak。

我是否缺少一些配置,以便从身份提供者注销也会从 Keycloak 中注销?

是否有一些 URL 需要向远程 IdP 注册?我想这不会是常规的注销 URL,因为这会启动一个调用远程 IdP 的注销过程,而远程 IdP 又会在无限循环中调用 Keycloak 注销?

Tob*_*obb 6

事实证明,远程 IdP 已经实现了OpenID Connect 的前端通道注销规范,该规范需要一个 URL(在 Keycloak 中),当用户从远程 IdP 注销时,用户将重定向到该 URL。

Keycloak 提供的唯一 URL 是标准注销 URL,但这将在远程 IdP 处启动注销,这在我的情况下不起作用。我已经向 Keycloak 添加了一个拉取请求,以将查询参数添加到注销 URL,这将使其不会从远程 IdP 注销,据我所知,这不完全符合前端通道注销规范,但希望它能工作就我而言。拉取请求已被接受,但正在等待合并。

更新:

我的 PR 已合并,因此现在 Keycloak 使用 frontchannel 注销规范支持远程 IdP。他们现在可以使用参数 重定向到标准注销 URL,initiating_idp并将 Keycloak 中配置的 IdP 别名作为值。请参阅https://www.keycloak.org/docs/latest/securing_apps/index.html#logout