5

鉴于:

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

高级问题:

  • PingFederate 的单次注销 (SLO) 功能如何工作?
  • SLO 一般是如何工作的?

鉴于:

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

具体问题:

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

1 回答 1

4

直接来自 PingFederate 入门手册:

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

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

如果“多个浏览器窗口”是指独立的浏览器/浏览器会话,那么 PingFederate 确实不会知道注销所有 IdP。你需要在他们之间有一些共同的会话。因此,如果它只是多个浏览器窗口,但共享相同的会话信息(例如:cookie),这将正常工作。

有关更多信息,您可能需要查阅 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。

于 2011-11-22T21:45:51.633 回答