Inhaltsverzeichnis

Single Logout

SLO-Bindings in Metadaten

Die Single Logout-Bindings müssen in den IdP-Metadaten eintragen sein, wie unter Vorbereitung der IdP-Metadaten beschrieben.

Aktivierung von SLO

Da wir im vorherigen Schritt das Speichern von Session-Informationen so umgestellt haben, dass eine lokale SQL-Datenbank verwendet wird, kann nun auch Single Logout (SLO) im IdP aktiviert werden:

/opt/shibboleth-idp/conf/idp.properties
# Track information about SPs logged into
idp.session.trackSPSessions = true
 
# Support lookup by SP for SAML logout
idp.session.secondaryServiceIndex = true
 
# damit der User eine ausführliche Logout-Rückmeldung vom IdP bekommt:
 
# Whether to lookup metadata, etc. for every SP involved in a logout
# for use by user interface logic; adds overhead so off by default.
idp.logout.elaboration = true

Starten Sie Tomcat neu, um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!):

root@idp:~# systemctl restart tomcat10

Anpassen der Logout-Seite

Die Logout-Seite enthält standardmäßig eine Bemerkung der Shibboleth-Entwickler, dass die Seite angepasst werden sollte. Löschen Sie die entsprechenden Zeilen, kommentieren Sie sie wie folgt aus oder ersetzen Sie den Text durch einen eigenen:

./views/logout.vm
  <!-- ... -->
  <div class="content">
    <div class="column one">
      <!--
      <p>This page is displayed when a logout operation at the Identity Provider completes. This page is an example
      and should be customized. It is not fully internationalized because the presentation will be a highly localized
      decision, and we don't have a good suggestion for a default.</p>
      <br>
      -->
      #if ( $logoutContext and !$logoutContext.getSessionMap().isEmpty() )
  <!-- ... -->

Diese Änderung wird ohne Neustart wirksam.

SLO-Test

Testen Sie die Logout-Funktionalität mithilfe des DFN-Test-SP2. Nach dem Login finden Sie unterhalb der Attribute den „Logout“-Link welcher Sie zum IdP zurückleiten sollte. Dort sollte dann die Erfolgsmeldung über das erfolgte Logout angezeigt werden.

Achtung: Sollte trotz vermeintlich richtiger Konfiguration das Logout nicht funktionieren, prüfen Sie bitte, ob in der Apache-Konfiguration die X-FRAME-OPTION „SAMEORIGIN“ gesetzt ist, siehe auch HTTP Server.

Zu weiteren Konfigurationsmöglichkeiten und Hintergrundinformationen siehe die Dokumentation im Shibboleth-Wiki.

Besonderheit IIS-basierter SP

FIXME prüfen! IIS liefert beim Logout einen HTTP-Fehler 404 zurück:

Testen Sie nochmal einen Login mithilfe der DFN-Test-SP(s) und überzeugen Sie sich dass Single Logout funktioniert.