0

PingFederate 文档指出,您可以配置SPIDP 单点注销(又名 SLO)。

当用户从他们的浏览器请求“Start-SLO”端点时,用户启动 SLO(即,要么 要么http://<PingFederate Base URL>/sp/startSSO.pinghttp://<PingFederate Base URL>/idp/startSSO.ping

我的问题:

  • 这不只是名义上的区别吗?
  • 归根结底,我们不只是针对端点吗?
  • 这个选择对 SLO 流程有任何实质性影响吗?

@Scott T.这里有以下要说的:

如果用户在 IdP 启动 SLO 流程,则可以 - 作为最后一步,用户将被重定向回 /idp/SLO.saml2。事实上,您为注销而重定向到的每个 SP,都将重定向回 IdP 以注销下一个 SP。如果您从 SP 启动 SLO 流程,那么用户最终到达的最后一个位置是该 SP 的 SLO 端点。

事实上,如果 PingFederate 重定向到作为最后一步启动 SLO 的 SP 会很好,但这不是我的经验。

也许我还应该问:

  • 您如何指定启动 SLO 的 SP?

编辑:根据@Scott T.'s answer here

我在这里假设您将 PingFederate 作为 IdP 和 SP(可能有 2 个单独的安装)。

据我了解 IdP 和 SP 的定义:

  • PingFederate既不是我的 IdP也不是我的 SP 之一。**
  • 对于我的配置,PingFederate 只是促进了我的 IdP 和我的 SP之间的开放令牌传输。
  • 直到最近,我还相信这是一个完全有效的配置。
  • 但现在看来,这种配置不利于 SLO;或者至少与 PingFederate 充当我的 IdP 一样好。
    • 它是否正确?

**当我这样说时,我的意思是说我有:

  • 一个独立的 Web 应用程序,它对用户进行身份验证,并有一个包含用户名和密码的后备存储(即数据库)——这充当我的 IdP。
  • 链接到我的 IdP 的多个独立 Web 应用程序显示数据并向我的用户提供功能 -这些充当我的 SP。
4

1 回答 1

3

我在这里假设您将 PingFederate 作为 IdP 和 SP(可能有 2 个单独的安装)。如果您想从您的 IdP 启动 SLO 流程,您可以在以下位置请求它:http://pingfed-idp/idp/startSSO.ping。如果您想从您的 SP 启动 SLO 流程,您可以在以下网址请求:http://pingfed-sp/sp/startSSO.ping

两种模型的流量略有不同:

如果您从 IdP 开始,则 IdP 将向您拥有 SSO 会话的每个 SP(一次一个)发送 SAML 2.0 LogoutRequest 消息。每个 SP 都会从本地会话中注销用户,然后使用 SAML LogoutResponse 指示成功/失败重定向回 SP。一旦最终 SP 完成,该过程在 IdP 处结束。

如果您从 SP 开始,则该 SP 将向 IdP 发送 SAML 2.0 LogoutRequest,然后 IdP 向您拥有 SSO 会话的每个其他 SP(一次一个)发送 LogoutRequest。每个 SP 将再次从本地会话中注销用户,然后使用 SAML LogoutResponse 指示成功/失败重定向回 SP。一旦 IdP 完成终止所有会话 - 它会向发起 SLO 的原始 SP 发送最终 LogoutResponse。

于 2011-11-26T04:47:37.657 回答