7

从 Ping Federate文档中的 IdP 流程 Ping Federate 注销

序列

  1. 用户发起单个注销请求。该请求以 PingFederate 服务器的 /idp/startSLO.ping 端点为目标。

  2. PingFederate 发送注销请求并接收所有注册当前 SSO 会话的 SP 的响应。

  3. PingFederate 将请求重定向到 IdP Web 应用程序的注销服务,该服务在本地识别并删除用户的会话。

  4. 应用程序注销服务重定向回 PingFederate 以显示注销成功页面。

但是,我对应用程序 Logout Service有一个小问题 ,需要在 IdP 适配器配置中进行设置。

问题是我有动态注销 URL,因此我无法在注销服务中使用它。

目前我正在尝试初始化 IdP 发起的 SLO。为此,我TargetResource在 SLO 成功后将用户重定向到 IdP。

https://idp.pf.com:9031/idp/startSLO.ping?PartnerSpId=testSpId&TargetResource=http%3A%2F%2Fdynamicsubhost.baseurl.com%3A8080%2Fweb%2Fmy-bank%2Flogout

问题 :

那么我怎样才能操纵 PingFederate 设置来跳过Step 3,而不是重定向到IdP Logout service它重定向到TargetResource.

我尝试过的:

我知道这听起来很俗气,但实际上我将 IdP 注销服务保持为空白。但显然它不起作用。

PS尴尬的是,当我使用相同的 PF 服务器来配置 IdP 和 SP 服务器时,它运行良好。但是当我切换到单独的 PF 服务器实例来托管 PingFederate 服务器时,结果就出现了。

4

1 回答 1

1

您可以在注销服务重定向中添加“resume”参数。这就是我在 .NET 中实现它的方式。我有一个处理 SLO 并调用此重定向的 Web 服务:

 Context.Response.Redirect(< SP Server DNS > + Context.Request("resume").ToString(), True)

此重定向将实例化 Logout 服务,然后重定向回您在调用 logout 服务时指定的 targetResource 参数的值。

如果您的 targetResource 没有值,则将使用默认 SLO URL(这是在管理控制台中设置的:SP 配置 > 应用程序集成设置 > 默认 URL)

供参考:只需查看您可以在此处下载的示例应用程序的实现 https://www.pingidentity.com/content/dam/pic/downloads/software/integration-kits/-NET-Integration-Kit-2-5 -1.zip

于 2015-07-07T01:37:51.317 回答