2016-04-29 22 views
8

Ich versuche, Sitzung Zeitüberschreitung mit WSO IS 5.1.0 zu konfigurieren.
Ich habe einen Service Provider, der Session Timeout 10 Minuten hat.
Ich habe SSO Sesson Timeot auf 10 Minuten in WSO2 konfiguriert ist Managment console auf Resident Identity Provider Abschnitt verwendet. Ich weiß nicht warum, aber die globale Konfiguration (<IS_HOME>/repository/conf/identity/identity.xml file under the <TimeConfig> element) funktioniert nicht.SSO Session Timeout funktioniert nicht ordnungsgemäß

Nach dem Timeout der lokalen Sitzung wird der Benutzer zur SSO-Anmeldeseite umgeleitet. Daher scheint die globale Sitzung ungültig zu sein. Wenn Sie jedoch die App-URL erneut in den Browser eingeben, wird der Benutzer zur Anmeldeseite weitergeleitet, automatisch erneut authentifiziert und zur zuletzt besuchten Seite weitergeleitet. Warum der Benutzer zum ersten Mal auf die SSO-Anmeldeseite und danach - nicht? Das erwartete Verhalten besteht darin, dass der Benutzer nach dem Ablauf der globalen Sitzung nicht erneut authentifiziert werden sollte.

So, das Szenario ist:
- Benutzerheim Anbieterseite Service geht und wird zu SSO Login-Seite umgeleitet
- Benutzer melden auf SSO Login-Seite
- Nach einiger Zeit SSO-Sitzung abläuft;
- Die Sitzung des Dienstanbieters läuft ebenfalls ab - Der Benutzer wechselt zur Seite des Dienstanbieters und wird zur SSO-Anmeldeseite umgeleitet (zu diesem Zeitpunkt scheint die SSO-Sitzung wiederhergestellt zu sein)
- Benutzer versucht erneut, zum Dienstanbieter zu gehen Seite und er wird auf magische Weise erneut authentifiziert (weil die Sitzung neu erstellt wurde).

Ich werde es begrüßen, wenn Sie zumindest diesen Fluss Kommentar, ich bin jetzt sicher, ob ich verstehen, wie es

Antwort

1

testete ich das gleiche mit WSO2 IS 5.1.0 Version, und die Frage, die Sie erwähnt haben existiert. Während ich durchging, bemerkte ich, dass dies auch aufgrund des Problems bei IDENTITY-4537 auf Zeitstempel Berechnung Logik verursacht wurde. Dies wurde in der kommenden Version behoben, WSO2 IS 5.2.0

-1

Die Session-Timeout globale Konfiguration in <IS_HOME>/repository/conf/identity/identity.xml Datei funktioniert, ist außer Kraft gesetzt werden von der Management-Konsole.

Sobald Sie die Sitzung eine Auszeit von der Management-Konsole konfigurieren, die in Mieter dem angemeldeten angewendet wird und dass nimmt den Vorrang vor der globalen Konfiguration.

So in einem frischen IST 5.1.0 Pack, wenn Sie in die Management-Konsole mit 'admin' angemeldet haben Benutzer, und wenn Sie die 'Idle Session Time Out' des ‚Resident Identity Provider konfigurieren ' Sie haben die Sitzungszeit des Supermandanten geändert, der als' carbon.super 'gekennzeichnet ist. So

wenn der Dienstleister in diesem Mieter konfiguriert beteiligt sich an einer authentifizierten Sitzung eines Benutzers dieser Mieter, wird die Session-Timeout-Wert sein, den Sie gerade konfiguriert.

Idealerweise, was das bedeutet ist, in 5.1.0 IS können wir die Sitzungszeit aus dem Identity Provider nicht konfigurieren, pro Service Provider. Es kann nur pro Mieter geändert werden. Darüber hinaus gibt Leerlaufsitzung konfiguriert "Resident Identity Provider" in der Verwaltungskonsole das Sitzungszeitlimit einer authentifizierten Sitzung, für den Endbenutzer erstellt, die für eine Service Provider-Anwendung über einige authentifiziert Authentifizierungsprotokoll (SAML, OpenID, OpenIDConnect, etc.). Dies unterscheidet sich von der Verwaltungskonsole-Anmeldesitzung.

Ich bin mir nicht ganz klar über die beiden Begriffe, die Sie verwenden, ‚lokale Sitzung Auszeit‘ und globalen Session-Timeout ". Aber hoffe, meine obige Erklärung kann dir helfen.

Weitere Informationen zur Verwaltung der SSO-Sitzung in WSO2 IS 5.1.0 finden Sie in [1].

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

+0

danke! By ** "globales Sitzungszeitlimit" ** Ich meine SSO-Sitzungszeitlimit und ** "Zeitlimit für lokale Sitzung" ** ist das Sitzungstimeout des Dienstanbieters. Ich habe das SSO-Session-Timeout am "Resident Identity Provider" konfiguriert. Aber das Problem ist, dass, wenn Benutzer auf die Seite eines Servis-Anbieters geht, nachdem die globale Sitzung (SSO) abgelaufen ist, er auf die Anmeldeseite umgeleitet wird (so sieht alles gut aus), aber wenn er danach versucht, die Seite einer Anwendung in ein Browser wird er erneut authentifiziert (obwohl die Sitzung tot ist und er sich nicht mehr eingeloggt hat) –

+0

Dies kann ich auch mit den gleichen Sitzungs - Timeouts reproduzieren: Der Benutzer wird auf die SSO - Login - Seite umgeleitet (beim Versuch, auf die Dienstanbieter-App), aber ohne die Zugangsdaten einzugeben, kann er die Dienstanbieter-App in einem neuen Tab erneut manuell öffnen und er wird erfolgreich sein. Für mich sieht das wie ein Fehler aus. Wenn der Benutzer zur SSO-Seite umgeleitet wird, wird sein samlssoTokenId-Cookie-Ablaufdatum aktualisiert (falls dies hilft). – Yuriy

+0

Ich habe dasselbe mit WSO2 IS 5.1.0 Version getestet, und das Problem, das Sie festgestellt haben, existiert. Während ich durchging, bemerkte ich, dass dies auch aufgrund der Zeitstempel Berechnungslogik verursacht wurde. [IDENTITY-4537] (https://wso2.org/jira/browse/IDENTITY-4537). Dies wurde in der kommenden Version behoben, WSO2 IS 5.2.0 –