-
Notifications
You must be signed in to change notification settings - Fork 1
IFrame caveats
Der Appswitcher wird in anderen Applikationen mittels <iframe>
eingebunden. Damit die Kommunikation mit Keycloak in diesem iframe funktioniert müssen Rahmenbedingungen für die Verwendung von Cookies eingehalten werden.
Damit der automatische OpenID Login am appswitcher
Client in einem iframe
funktioniert, müssen im IFrame die Session Cookies vom Keycloak mitgeschickt werden. Keycloak setzt hierzu bei einer Anmeldung drei Cookies:
- AUTH_SESSION_ID
- KEYCLOAK_IDENTITY
- KEYCLOAK_SESSION
Sind diese Cookies nach einer Anmeldung des Users vorhanden, kann sich das iframe ohne weitere Userinteraktion am Keycloak authentifizieren. Diese Cookies werden automatisch bei einer Keycloak-Anmeldung am entsprechenden Realm durch den Keycloak im Browser gesetzt.
🚧 add clean screenshot
Desweiteren setzt der Appswitcher im Browser ein eigenes Session-Cookie. Auch dieses Cookie wird für den Anmeldeflow benötigt.
🚧 add clean screenshot
Da der Aufruf des Appswitcher in einem iframe
eingebettet in einer anderen Anwendung/Domäne erfolgt, werden die Cookies vo Keycloak und von Appswitcher als sogenannte Third-Party Cookies
gewertet. Solche Cookies unterliegen besonderer Restriktionen:
- Der Browser muss grundsätzlich
Third-Party Cookies
für eine Domäne erlauben. - Das Cookie muss für die Nutzung als
Third-Party Cookie
von der erstellenden Instanz freigegeben sein (siehe SameSite Cookies)
Damit ein Cookie für die Nutzung als Third-Party Cookie zugelassen ist, müssen zwei Attribute im Cookie gesetzt sein:
- SameSite: NONE
- Secure: true
Zusätzlich darf der Browser die Verwendung von Third-Party Cookies nicht generell verbieten.