Lerne in diesem zweitägigen Training, wie du Keycloak Extensions entwickeln und sie testen kannst. Du wirst die wichtigsten Konzepte und Objekte sowie die gängigsten SPIs kennenlernen.
Ein großer Vorteile der Keycloak-Plattform ist ihre Erweiterbarkeit um eigene Anforderungen und Implementierungen, ohne den eigentlichen Kern 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 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 lernen wir zunächst das Konzept der Keycloak SPIs, bestehend aus Factory- und Provider-Klassen, kennen, sowie die wichtigsten Objekte, wie die KeycloakSession und andere *Context-spezifische Container. Danach implementieren wir die gängigsten Service Provider Interfaces wie EventListener, ResourceProvider, Authenticator, RequiredAction und User Storage und erstellen hiermit Beispielerweiterungen. Mit diesen Übungen erlangen wir 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-Testszenario in einem „richtigen“ Keycloak-Server testen können.