Keycloak Extensions – Jumpstart Workshop

Keycloak mit eigenen Extensions erweitern – in einem Tag.
Standard-Keycloak reicht nicht aus? Kein Problem – Keycloak ist von Grund auf für Erweiterbarkeit gebaut. Mit Service Provider Interfaces (SPIs) kannst du nahezu jeden Aspekt des Systems an eigene Anforderungen anpassen, ohne den Kern anfassen zu müssen.
In diesem Jumpstart-Workshop lernst du, wie Keycloak-Extensions konzeptionell funktionieren, welche SPIs du am häufigsten brauchst – und implementierst sie direkt selbst. Inklusive automatisierter Integrationstests gegen einen echten Keycloak-Server.
Hands-on. Java-lastig. Von Deutschlands führendem Keycloak-Experten.
⚠️ Dieser Workshop ist keine Einführung in Keycloak oder OAuth 2 / OIDC. Grundlegende Keycloak-Kenntnisse sowie solide, aktuelle Java- und Maven-Kenntnisse sind Voraussetzung. Für den Keycloak-Einstieg empfehle ich den Keycloak Quickstart oder das Keycloak Fundamentals Training.
Warum dieser Workshop?
Einer der größten Vorteile von Keycloak ist seine Erweiterbarkeit: Das SPI-Pattern erlaubt es, eigene Implementierungen zu bauen und zur Laufzeit in Keycloak zu deployen – ohne den eigentlichen Kern oder die Distribution neu kompilieren zu müssen. Nahezu jede wichtige Funktionalität in Keycloak ist über SPIs zugänglich.
Das klingt mächtig – und ist es auch. Aber ohne Überblick über die richtigen Interfaces,
die KeycloakSession, die *Context-Objekte und das Zusammenspiel von ProviderFactory
und Provider verliert man schnell den Faden.
Ich zeige dir, wie das alles zusammenhängt – und wir implementieren es gemeinsam.
Als Bonus: Mit meiner eigenen, und in vielen globalen Projekten eingesetzen Open-Source-Bibliothek
testcontainers-keycloak
testen wir unsere Extensions gegen einen echten Keycloak-Server im Integrations-Test – kein Mocking, kein Raten.
Agenda
Keycloak SPI-Konzepte – das Fundament
- Das SPI-Pattern in Keycloak:
ProviderFactoryundProviderInterfaces KeycloakSessionund*Context-spezifische Objekte – was ist wo verfügbar?- Wie Extensions deployed und zur Laufzeit geladen werden
Zwei SPIs implementieren – Hands-on
EventListener: auf Keycloak-Events reagieren (Login, Logout, Fehler, …)Authenticator: eigene Authentifizierungsschritte in Auth-Flows einbauen- (optional:
RequiredActionSPI)
Extensions automatisiert testen
- Integrationstests mit
testcontainers-keycloak - Extensions gegen einen echten Keycloak-Server testen – ohne Mocking
Was du nach diesem Training kannst
- ✅ Das SPI-Konzept von Keycloak erklären und anwenden
- ✅ Die wichtigsten Keycloak-Interfaces und -Objekte sicher nutzen
- ✅ Eigene
EventListener- undAuthenticator-Extensions implementieren - ✅ Keycloak-Extensions mit
testcontainers-keycloakautomatisiert testen - ✅ Keycloak zielgerichtet an eigene Anforderungen anpassen – ohne den Kern zu ändern
Für wen ist dieses Training?
Dieser Workshop richtet sich an Java-Entwickler:innen, die Keycloak bereits kennen und es mit eigenen Extensions an individuelle Anforderungen anpassen möchten.
Voraussetzungen:- Grundlegende Keycloak-Kenntnisse (Realms, Clients, Auth-Flows)
- Solide, aktuelle Java-Kenntnisse (Java 21+) und Erfahrung mit Maven
- Vertrautheit mit einer Java-IDE (IntelliJ IDEA, Eclipse, VS Code, …)
Lernziele
- Keycloak Service Provider Interfaces (SPIs) konzeptionell verstehen und implementieren
- Die relevanten Keycloak-Interfaces, Klassen und Objekte sicher einsetzen
- Keycloak-Extensions automatisiert testen
Was du mitbringen solltest
Erforderlich:
- Notebook/Laptop mit lokalen Admin-Rechten
- Java-IDE nach Wahl (IntelliJ IDEA, Eclipse, VS Code, …)
- JDK 21+
- Docker und Docker Compose V2 – installiert und lauffähig
- Internetzugang
Als Test- und Verifizierungsumgebung verwenden wir Docker Compose, um den operativen Overhead minimal zu halten.
Jetzt direkt buchen
- 20% Rabatt ab 2 Teilnehmer:innen desselben Unternehmens
- Teilnahmezertifikat inklusive
- Schulungssprache: Englisch
- Mindestteilnehmerzahl: 5 Personen
(bei Unterschreitung 7 Tage vor dem Termin behält sich der Veranstalter eine Absage vor) - Stornierung durch Teilnehmer:innen ist ausgeschlossen; bei Verhinderung durch Krankheit ist die Teilnahme an einem Alternativtermin möglich
- Zahlungsbedingungen: Vorkasse, Eingang min. 3 Werktage vor Veranstaltung
- Online-Platform: Zoom (technische Voraussetzungen sind eigenständig sicherzustellen)