2014-07-10 8 views
7

Ping Federate Logout Von IdP Fluss von der Ping Federate DocumentationPingFederate IdP-initiierte Logout, umleiten

Sequenz

  1. Benutzer initiiert eine einzige Abmeldeanforderung an TargetResource. Die Anforderung richtet sich an den Endpunkt des PingFederate-Servers "/idp/startSLO.ping" .

  2. PingFederate sendet eine Abmeldeanforderung und empfängt Antworten von allen für die aktuelle SSO-Sitzung registrierten SPs .

  3. PingFederate leitet die Anfrage an den Logout-Dienst der IdP-Webanwendung um, der die Sitzung des Benutzers lokal identifiziert und entfernt.

  4. Die Anwendung Abmeldeservice leitet zurück zu PingFederate zu zeigt eine Abmeldung-Erfolgsseite.

Aber, ich habe ein kleines Problem in Bezug auf die Anwendung Logout-Service, die bei IdP Adapterkonfiguration einstellen muss.

Das Problem ist, ich habe dynamische Abmeldung URL, aufgrund der ich kann es nicht in der Logout Service verwenden.

Momentan versuche ich den IdP initiierten SLO zu initialisieren. Für welche ich TargetResource übergebe, um Benutzer zu IdP nach SLO-Erfolg umzuleiten.

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

Frage:

So wie kann ich rig die PingFederate Einstellung der Step 3, zu überspringen, so stattdessen auf die IdP Logout service der Umleitung es TargetResource umleitet.

Was ich versucht habe:

Ich weiß, es kitschig klingt, aber eigentlich immer ich den IdP Abmeldedienst leer. Aber offensichtlich hat es nicht funktioniert.

P. S Die peinliche Sache ist, wenn ich denselben PF-Server für beide IdP und SP-Server wurde die Konfiguration wurde gut funktioniert. Aber wenn ich wechseln auf separate Instanz von PF-Server für das Hosting der PingFederate Server die Folge wird angezeigt.

Antwort

1

Sie können den Parameter "resume" in Ihrem Logout Service Redirect hinzufügen. So habe ich es in .NET implementiert. Ich habe einen Web-Service, die SLO und nennt diese Umleitung behandelt:

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

Diese Umleitung wird die Logout-Dienst instanziiert und dann auf den Wert des targetResource Parameter umleiten zurück, die Sie angegeben, wenn Sie den Logout-Dienst aufgerufen.

Wenn Ihr targetResource hat keinen Wert den Standard SLO URL verwendet werden soll (in der Admin-Konsole festgelegt ist: SP-Konfiguration> Anwendungsintegration Einstellungen> Standard URLs)

Zum Vergleich: Nur Überprüfung der Umsetzung von die Beispielanwendung, die Sie hier herunterladen können https://www.pingidentity.com/content/dam/pic/downloads/software/integration-kits/-NET-Integration-Kit-2-5-1.zip