Um das Benutzererlebnis der cloudbasierten IAM Lösung OneLogin komplett zu machen, muss irgendwann halt auch mal der Logout folgen.
Das hatte ich bisher nicht so wirklich auf dem Schirm, schließlich heißt es ja "OneLogin" und nicht "OneLogout".
Der Logout stellte uns erstmal vor große Probleme, denn irgendwie wollte kein Ansatz so richtig funktionieren. Irgendwann hatte ich dann aber die richtigen Informationsteile richtig zusammengepuzzelt und dann war es super einfach.
Konfiguration OneLogin
In der Konfiguration im OneLogin unter OIDC -> Configuration -> Post Logout Redirect URI setzen.
Beispielsweise: https://www.meinetolleanwendung.de/logoutseite.html
Konfiguration Applikation
In der Applikation selbst muss eigentlich nichts konfiguriert werden.
Es muss lediglich ein Link aufgerufen werden.
In der Konfiguration des vorgeschalteten Reverse Proxies ist folgender Block für den OIDC-Connector:
#this is required by mod_auth_openidc OIDCCryptoPassphrase <INSERT-HERE a-random-secret> OIDCProviderMetadataURL <INSERT-HERE> OIDCClientID <INSERT-HERE> OIDCClientSecret <INSERT-HERE> # OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT point to any content OIDCRedirectURI https://www.meinetolleanwendung.de/private/redirect_uri ## OIDCScope params ## to put params including roles into header OIDCScope "openid email profile groups params"
Wir benötigen die OIDCRedirectURI und fügen lediglich ein ?logout für den logout an, gefolgt von = https://www.meinetolleanwendung.de/logoutseite.html für den Redirect zur Post-Logoutseite.
Der ganze Link lautet also:
https://www.meinetolleanwendung.de/private/redirect_uri?logout=https://www.meinetolleanwendung.de/logoutseite.html
Durch Aufruf des Links wird die Session in OneLogin und im Reverse Proxy beendet.
So einfach kann es sein.