2016-04-29 20 views
8

Sto provando a configurare il timeout della sessione utilizzando WSO IS 5.1.0.
Ho un fornitore di servizi, che ha una durata della sessione di 10 minuti.
Ho configurato SSO sesison timeot a 10 minuti in WSO2 utilizza Managment console nella sezione Resident Identity Provider.Timeout sessione SSO funziona in modo errato

Non so perché, ma la configurazione globale (<IS_HOME>/repository/conf/identity/identity.xml file under the <TimeConfig> element) non funziona.

Dopo il timeout della sessione locale, l'utente viene reindirizzato alla pagina di accesso SSO, quindi sembra che la sessione globale sia invalidata. Ma se si digita l'URL dell'app nel browser (di nuovo), l'utente viene reindirizzato alla pagina di accesso, riautentato automaticamente e reindirizzato all'ultima pagina visitata. Perché la prima volta che l'utente accede alla pagina di accesso SSO e dopo, no? Il comportamento previsto è che l'utente non deve essere nuovamente autenticato dopo la sessione globale scaduta.

Così, lo scenario è:
- utente va al servizio di home page del provider e viene reindirizzato alla pagina di login SSO
- Registrati Fai login sulla pagina di login SSO
- Dopo qualche tempo scade SSO sessione;
- sessione del provider di servizi scade così - utente va alla pagina un po 'di provider di servizi e ottenere di reindirizzato alla pagina di login SSO (sembra che a questo punto della sessione SSO è in qualche modo ricreato)
- utente tenta di nuovo di andare al Service Provider di pagina e viene magicamente riattivato (perché la sessione è stata ricreata).

Io apprezzo se almeno commentare questo flusso, ora sono sicuro che se ho capito come funziona

risposta

1

ho provato lo stesso con WSO2 IS 5.1.0 versione, e la questione che si è notato esiste. Durante il passaggio, ho notato che questo è stato causato anche a causa del problema rilevato a IDENTITY-4537 sulla logica di calcolo dell'orario. Questo problema è stato risolto nella prossima versione, WSO2 IS 5.2.0

-1

La configurazione globale sessione di timeout in <IS_HOME>/repository/conf/identity/identity.xml file è override dalla console di gestione.

Una volta configurato il tempo di sessione dalla console di gestione che viene applicato al titolare registrato e che ha la precedenza sulla configurazione globale.

Quindi, in un fresco è 5.1.0 pacco, se è stato eseguito l'accesso alla console di gestione con 'admin' utente e se si è configurato il 'Idle Session Time Out' del provider 'identità di residente ' è stata modificata la durata della sessione del super tenant identificato come' carbon.super '.

Pertanto, quando i provider di servizi configurati in questo tenant partecipano a una sessione autenticata di un utente di questo tenant, il timeout della sessione sarà il valore appena configurato.

Idealmente, ciò significa che, in IS 5.1.0, non è possibile configurare la durata della sessione del provider di identità per provider di servizi. Può essere modificato solo per inquilino. "" Resident Identity Provider " nella console di gestione indica il timeout della sessione di una sessione autenticata, creata per l'utente finale, che esegue l'autenticazione per un'applicazione del provider di servizi tramite protocollo di autenticazione (SAML, OpenID, OpenIDConnect, ecc.). Questo è diverso dalla sessione di login della console di gestione.

io non sono molto chiare circa i due termini che si sta utilizzando, 'tempo di sessione locale fuori' e 'timeout della sessione globale'. Ma spero che la mia spiegazione sopra possa aiutarti.

Per ulteriori informazioni su come viene gestita la sessione SSO in WSO2 IS 5.1.0, fare riferimento a [1].

[1] http://malithiedirisinghe.blogspot.com/2016/01/how-to-manage-authenticated-session-in.html

+0

grazie! Per ** "timeout della sessione globale" ** intendo timeout della sessione SSO e ** "timeout della sessione locale" ** è il timeout della sessione del provider di servizi. Ho configurato il timeout della sessione SSO nel "Resident Identity Provider". Ma il problema è che quando l'utente passa alla pagina di un provider Servise dopo che la sessione globale (SSO) è scaduta, viene reindirizzato alla pagina di accesso, (sembra che tutto vada bene), ma se prova dopo, digita la pagina di qualche app in un browser, verrà riautentato (anche se la sessione è morta e non è stato effettuato il login) –

+0

Questo è ciò che posso riprodurre anche con gli stessi timeout della sessione: l'utente viene reindirizzato alla pagina Accesso SSO (quando si tenta di accedere al App del fornitore di servizi), ma senza nemmeno inserire le credenziali è possibile riaprire manualmente l'app del fornitore di servizi in una nuova scheda e ci riuscirà. Per me sembra un insetto. Quando l'utente viene reindirizzato alla pagina SSO, la sua data di scadenza del cookie samlssoTokenId viene aggiornata (se questo aiuta). – Yuriy

+0

Ho provato lo stesso con la versione WSO2 IS 5.1.0 e il problema che hai notato esiste. Durante il passaggio, ho notato che anche questo è stato causato a causa del problema in fase di calcolo del timestamp. [IDENTITY-4537] (https://wso2.org/jira/browse/IDENTITY-4537). Questo problema è stato risolto nella prossima versione, WSO2 IS 5.2.0 –

Problemi correlati