Ich versuche, das Sitzungszeitlimit mit WSO IS 5.1.0 zu konfigurieren.
Ich habe einen Dienstanbieter, der eine Sitzungszeitüberschreitung von 10 Minuten hat.
Ich habe SSO sesison timeot auf 10 Minuten in WSO2 konfiguriert. Verwenden Sie die Verwaltungskonsole auf Resident Identity Provider Abschnitt.
Ich weiß nicht warum, aber die globale Konfiguration ( <IS_HOME>/repository/conf/identity/identity.xml file under the <TimeConfig> element
) funktioniert nicht.
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 besucht der Benutzer zum ersten Mal 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.
Also, das Szenario ist:
- Der Benutzer wechselt zur Homepage des Dienstanbieters und wird zur SSO-Anmeldeseite weitergeleitet
- Der Benutzer loggt sich auf der SSO-Login-Seite ein
- Nach einiger Zeit läuft die SSO-Sitzung ab;
- Die Sitzung des Dienstanbieters läuft ebenfalls ab
- Der Benutzer geht zur Seite des Dienstanbieters und wird auf die SSO-Anmeldeseite umgeleitet (es scheint, als sei die SSO-Sitzung zu diesem Zeitpunkt irgendwie neu erstellt worden)
- Der Benutzer versucht erneut, zur Seite des Dienstanbieters zu wechseln, und er wird auf magische Weise erneut authentifiziert (weil die Sitzung neu erstellt wurde).
Ich werde es schätzen, wenn Sie diesen Flow zumindest kommentieren, ich bin mir jetzt sicher, ob ich verstehe, wie es funktioniert
Ich habe dasselbe mit WSO2 IS 5.1.0 Version getestet, und das Problem, das Sie bemerkt haben, existiert. Während des Durcharbeitens habe ich festgestellt, dass dies auch auf das Problem zurückzuführen ist, das bei der Zeitstempelberechnung unter IDENTITY-4537 festgestellt wurde Logik. Dies wurde in der kommenden Version WSO2 IS 5.2.0 behoben.
Die globale Session-Timeout-Konfiguration in <IS_HOME>/repository/conf/identity/identity.xml
file kann über die Managementkonsole überschrieben werden.
Sobald Sie das Sitzungszeitlimit von der Verwaltungskonsole aus konfiguriert haben, das auf den angemeldeten Mandanten angewendet wird und Vorrang vor der globalen Konfiguration hat.
Wenn Sie sich also in einem neuen IS 5.1.0-Paket mit 'admin' Benutzer an der Verwaltungskonsole angemeldet haben und das 'Zeitüberschreitung bei fehlender Sitzung' konfiguriert haben des 'Resident Identity Providers' Sie haben das Sitzungszeitlimit des Supermandanten, der als 'carbon.super' gekennzeichnet ist, geändert.
Wenn also die in diesem Mandanten konfigurierten Service-Provider an einer authentifizierten Sitzung eines Benutzers dieses Mandanten teilnehmen, wird das Sitzungs-Timeout der Wert sein, den Sie gerade konfiguriert haben.
Im Idealfall bedeutet dies, dass in IS 5.1.0 das Sitzungszeitlimit des Identity Providers pro Service Provider nicht konfiguriert werden kann. Es kann nur pro Mieter geändert werden. Darüber hinaus gibt das "Idle Session Time Out" , das in 'Resident Identity Provider' in der Managementkonsole konfiguriert wurde, den Sitzungstimeout einer authentifizierten Sitzung an, der für den Endbenutzer erstellt wurde. Wer authentifiziert für eine Service Provider-Anwendung über ein Authentifizierungsprotokoll (SAML, OpenID, OpenIDConnect, etc.). Dies unterscheidet sich von der Verwaltungskonsole-Anmeldesitzung.
Ich bin mir nicht ganz im Klaren über die zwei Begriffe, die Sie verwenden, Zeitlimit für lokale Sitzungen und globale Zeitüberschreitung für Sitzungen . Aber hoffe, meine obige Erklärung kann dir helfen.
Weitere Informationen zur Verwaltung der SSO-Sitzung in WSO2 IS 5.1.0 finden Sie unter [1].
[1] Ссылка
Tags und Links single-sign-on wso2 session-timeout spring-saml wso2is