PingFederate IdP发起的Logout,重定向到TargetResource

Run*_*orn 7 federated-identity single-sign-on pingfederate

Ping Ping Federate从IdP流注销,从Ping Federate 文档开始

序列

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

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

  3. PingFederate将请求重定向到IdP Web应用程序的Logout Service,该服务在本地标识和删除用户的会话.

  4. 应用程序Logout Service重定向回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
Run Code Online (Sandbox Code Playgroud)

题 :

那么我怎样才能使PingFederate设置跳过Step 3,所以不是重定向到IdP Logout service它重定向到TargetResource.

我尝试过的:

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

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

小智 1

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

 Context.Response.Redirect(< SP Server DNS > + Context.Request("resume").ToString(), True)
Run Code Online (Sandbox Code Playgroud)

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

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

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