Keycloak IAM & SSO Training/Workshop:
Extension Entwicklung
Keycloak hat sich mittlerweile als eines der meist genutzten und gleichzeitig vollständig OpenID-Connect (OIDC) konformen und zertifizierten Authentifzierungs- und Identity- & Access-Management (IAM) Systeme in Unternehmen etabliert.
Einer der großen Vorteile von Keycloak ist die einfache Erweiterbarkeit der Plattform um eigene Anforderungen und Implementierungen, ohne den eigentlichen Kern, bzw. die Distribution von Keycloak selbst bauen/kompilieren zu müssen. Keycloak setzt hier in weiten Teilen auf den Standard-Java SPI (Service Provider Interface) Mechanismus, der es erlaubt, eigene Erweiterungen zu einem Interface zu implementieren und diese Erweiterungen zur Laufzeit zum Anwendungskern dazu zu deployen bzw. in einem gemeinsamen Deployment in Produktion zu bringen. Nahezu jede, zumindest jede wichtige Funktionalität ist in Keycloak über das SPI Pattern abgebildet und erlaubt so eine fast vollständige Anpassung von keycloak an die eigenen Wünsche und Anforderungen.
In diesem 2-Tages-Workshop implementieren wir die gängigsten Service Provider Interfaces wie User Storage
, Authenticator
, RequiredAction
, ResourceProvider
und EventListener
und erstellen hiermit Beispiel-Erweiterungen.
Danach haben die Teilnehmer das grundlegende Verständnis, wie SPIs für Keycloak entwickelt werden und auf welche Dinge es zu achten gilt.
Mit Hilfe der testcontainers-keycloak
-Erweiterung werden wir einige unserer Extensions in einem Integration-Test-Szenario in einem “richtigen” Keycloak-Server testen können und müssen das System nicht mocken.
Vorkenntnisse und Zielgruppe
Der Workshop richtet sich an alle Personen aus der Software-Entwicklung, die Keycloak mit weiteren Features und eigenen Anforderungen erweitern möchten. Idealerweise haben die Teilnehmer schon Vorkenntnisse im Umgang mit Keycloak.
Als Test- und Verifizierungsumgebung verwenden wir eine lokale Docker-Compose Umgebung, um den operativen Overhead so gering wie möglich zu halten.
Lernziele und Agenda
- Implementierung der gängigsten Keycloak SPIs:
UserStorage
Authenticator
RequiredAction
ResourceProvider
EventListener
- Testen der Erweiterungen mit
testcontainers-keycloak
Technische Anforderungen
- Notebook/Laptop
- Java-IDE nach Wahl (z.B. IntelliJ IDEA, Eclipse, VS Code, Netbeans, etc.)
- JDK 11+
- Maven 3.8+
- Docker und Docker Compose (V2!) installiert und lauffähig (ggf. lokale Admin-Rechte auf dem Rechner erteilen)
- für den Zugriff auf das Internet bitte ggf. Proxy-/Firewall-/VPN-Konfigurationen etc. überprüfen
- Optional: HTTP-Client (z.B. Insomnia, Postman, etc.)
Dauer
2 Tage
Öffentliche Termine
(die öffentlichen Trainings weichen ggf. von o.a. Inhalten und Dauer ab)
- 24.05.2023: heise Academy, Online
- 12.05.2023: JAX Workshop, Mainz
- 19.09.2023: heise Academy, Online
- 28.11.2023: heise Academy, Online
- zusätzlich gerne auf Ihre Anfrage!