如何从IDP端实现特定SP的全局注销?

时间:2015-04-16 15:10:12

标签: java spring-security saml-2.0 adfs2.0

我已经将Spring Saml与我的应用程序集成在一起,并且工作正常。我可以使用SP发起的SSO和IDP发起的SSO登录。我还添加了本地注销设置。但我还有一个要求,即用户将使用SP发起的SSO登录。验证成功后,用户将转到IDP选择页面(在我的情况下为ADFS 2.0)并选择一个SP,然后单击从该站点注销。

那时我需要为我的SP主页打开的客户端浏览器触发会话终止。其他SP不应该对此用户造成影响。

有很多与单点注销有关的问题,但我的情况有点不同。我想从全球IDP页面退出我的应用程序。虽然我能够在本地注销并且会话终止。我已配置此Spring-Saml文档中给出的所有设置。

1 个答案:

答案 0 :(得分:3)

是的,对SingleSignOut有很多疑问。但我相信你想要的不是标准的单点登出配置文件(第4.4段)。并且ADFS肯定不会通过反向通道启动注销(第4.4.3.3节的SOAP绑定。)。

也许你可以做"非法?"使用IdP(ADFS)的重定向或后绑定LogoutRequest(因为所有SP应该被唱出来)。但也许(我怀疑并且没有验证当前的补丁级别)仅在S2008R2和S2012上的ADFS 2.0中。在S2012R2上根本没有机会。这是一条死胡同。

我猜一个应用程序的注销真的没有意义。这是SSO!您可以清除本地SP登录会话cookie并尝试使用ForceAuthn从AuthnRequest从SP到IdP。这会产生所需的效果吗?至少这是标准的。