Key斗篷和从SAML身份提供程序注销的问题



我对Keycaptain的配置和SAML Identity Provider的Single Logout有问题。

场景:

  1. 用户尝试使用Keycloft的客户端(OID(登录到服务提供商
  2. KC重定向到SAML身份提供商
  3. 输入正确的凭据,用户登录,KC创建会话,用户重定向回SP页面
  4. 在另一个选项卡中,用户直接登录到IP(由于SSO,不需要凭据(
  5. 用户从SP注销
  6. 刷新第二个选项卡(IP(后,用户将注销

但是,如果用户首先从IP注销,则SP会话不会关闭,并且用户仍然登录:

  1. 用户从IP注销(重定向到KC端点并返回IP登录页面(
  2. 刷新后,用户仍登录SP

Key斗篷正确接收samlp:LogoutRequest请求并返回<samlp:注销响应。。。samlp:状态<samlp:StatusCode值=";urn:a绿洲:名称:tc:SAML:2.0:状态:成功">lt/samlp:状态>lt/samlp:注销响应>

在KC管理控制台中,我仍然可以看到给定客户端(和用户(有活动会话。实际上,我只能在KC stdout(请求转储器过滤器(中看到来自IP的SAML注销请求,但在KC中没有发生注销事件。

我真的不太了解SAML是如何工作的,但用户不应该使用SLO从SP注销吗?或者我在KC的客户端/领域/IP配置中遗漏了什么?感谢您的帮助/解释

全球注销工作的要求

  • 用于两个服务提供商的客户端应该在同一领域中
  • 当您从IdP注销时,您是否看到每个服务提供商都发出了注销请求?我相信在您的情况下,它不是为您的SP调用注销URL。这需要在客户端级别进行配置
  • 如果正在调用SP的注销URL,并且即使在那时您也登录到了SP,则表示SP在执行注销时存在一些问题

在这种情况下,当您首先从SP注销时,您的SP将向IdP发送注销请求,这就是您从IdP和SP注销的原因。但在另一种情况下,我认为没有调用Logout URL(这可能是由于客户端中缺少配置(。

你能发布一张配置的截图来帮助你更好吗?

最新更新