PingFederate单一注销 - 它是如何工作的?

时间:2011-11-22 20:29:03

标签: single-sign-on saml-2.0 pingfederate

假设:

  • PingFederate是一种单点登录(SSO)解决方案,允许用户使用一个用户名和密码通过1-n应用程序进行身份验证。

高级别问题:

  • PingFederate的单点注销(SLO)功能如何运作?
  • SLO如何运作?

假设:

  • 要开始SLO流程,我们希望用户从浏览器请求SLO端点(即https://[PingFederateInstance]/idp/startSLO.ping?PartnerSpId=[PartnerSpId])。
  • 我们可以假设PingFederate实例将在成功进行SLO调用后发出重定向。

具体问题:

  • 但是,如果您在多个浏览器窗口中有多个应用程序,该怎么办?
  • 联合身份提供商如何告诉 多个 应用程序终止其用户会话?

1 个答案:

答案 0 :(得分:3)

直接来自PingFederate入门手册:

“单一注销(SLO)配置文件使用户几乎可以同时注销联合会话中的所有参与站点。用户可以从任何站点全局注销,无论是SP还是IdP,由各自的Web应用程序确定。关联的IdP联合部署处理所有参与站点的注销请求和响应。“

那就是说 - PingFederate(充当IdP)知道你在给定的会话中联合了哪些SP。当用户启动SLO时(从您给出的示例 - 在IdP处 - 它也可以从SP发起),用户浏览器(假设重定向或POST绑定)将通过SAML LogoutRequest发送到每个SP。

如果通过“多个浏览器窗口”表示独立浏览器/浏览器会话,那么PingFederate确实不会知道注销所有IdP。你需要在它们之间进行一些共同的会话。所以,如果它只是多个浏览器窗口,但共享相同的会话信息(例如:cookies),这将完好无损。

有关详细信息,您可以参考SAML 2.0配置文件规范的第4.4节:http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf

请记住,PingFederate不仅支持SAML 2.0,而且并非所有联邦协议都支持SLO(例如:SAML 1.x)。此外,许多非PingFederate SAML感知应用程序不支持SLO。