2014-07-10 21 views
7

Ping Federate Logout Da IdP flusso a partire dal Ping Federato DocumentationPingFederate IDP-iniziati Logout, reindirizzare a TargetResource

Sequenza

  1. utente avvia una singola richiesta di logout. La richiesta è indirizzata all'endpoint /idp/startSLO.ping del server PingFederate .

  2. PingFederate invia una richiesta di disconnessione e riceve le risposte da tutti gli SP registrati per la sessione SSO corrente.

  3. PingFederate reindirizza la richiesta al servizio di logout dell'applicazione Id2 Web , che identifica e rimuove la sessione dell'utente localmente.

  4. L'applicazione Logout Service reindirizza a PingFederate su visualizza una pagina di esito positivo.

Ma, ho un piccolo problema per quanto riguarda l'applicazione Logout Servizio, che ha bisogno per rimettere in configurazione dell'adattatore IDP.

Il problema è che ho un URL di disconnessione dinamico, a causa del quale non posso utilizzarlo nel servizio di disconnessione .

Attualmente sto tentando di inizializzare lo SLO avviato da IdP. Per il quale sto passando TargetResource per reindirizzare l'utente a IdP dopo il successo SLO.

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

Domanda:

Così come posso rig l'impostazione PingFederate di saltare la Step 3, così invece di reindirizzare al IdP Logout service che reindirizza a TargetResource.

quello che ho provato:

So che può sembrare banale, ma in realtà ho tenuto il servizio di logout IdP a vuoto. Ma ovviamente non stava funzionando.

P.S La cosa imbarazzante è quando stavo usando stesso server PF per configurazione sia IdP e il server SP stava funzionando bene. Ma quando i passano all'istanza separata del server PF per ospitare il server PingFederate , si verifica la conseguenza.

risposta

1

È possibile aggiungere il parametro "resume" nel reindirizzamento del servizio di logout. Questo è il modo in cui l'ho implementato in .NET. Ho un servizio web che gestisce la SLO e chiama questo redirect:

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

Questo redirect istanziare il servizio Logout e quindi reindirizzare al valore del parametro targetResource specificato quando hai chiamato il servizio di logout.

Se il targetResource non ha un valore di default SLO URL verrà utilizzato (questo è impostato in Admin Console: configurazione SP> Impostazioni applicazione INTEGRAZIONE> predefinito URL)

Per riferimento: Basta rivedere l'attuazione di l'applicazione di esempio che è possibile scaricare qui https://www.pingidentity.com/content/dam/pic/downloads/software/integration-kits/-NET-Integration-Kit-2-5-1.zip