Keycloak Extension Entwicklung Training/Workshop

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 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 Beispiel-Erweiterungen. 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-Test-Szenario in einem “richtigen” KEYCLOAK-Server testen können und müssen das System nicht mocken.

Agenda

  • Kennenlernen der wichtigsten Konzepte für KEYCLOAK-Extensions
    • ProviderFactory und Provider Interfaces
    • KeycloakSession und *Context-spezifische Objekte
  • Implementierung der gängigsten KEYCLOAK SPIs:
    • EventListener
    • ResourceProvider
    • Authenticator
    • RequiredAction
    • UserStorage
  • Testen von Erweiterungen mit testcontainers-keycloak

Dein Nutzen

  • Lerne wie KEYCLOAK-Extension entwickelt werden.
  • Lerne wie Du KEYCLOAK-Extensions testen kannst.
  • Lerne die wichigsten Konzepte und Objekte für KEYCLOAK-Extensions kennen.
  • Lerne die gängigsten KEYCLOAK SPIs anhand von Beispielen kennen.

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.

Da die KEYCLOAK-Extensions in Java entwickelt werden, sind fundierte und aktuelle Java- sowie Maven-Kenntnisse, sowie der Umgang mit einer Java-IDE unbedingt erforderlich.

Lernziele

  • KEYCLOAK SPIs implementieren
  • KEYCLOAK-Extensions testen
  • Kennenlernen der relevanten KEYCLOAK Interfaces und Klassen
  • Sicherer Umgang mit den wichtigsten KEYCLOAK Interfaces, Klassen und Objekten

Technische Anforderungen

  • Notebook/Laptop
  • Java-IDE nach Wahl (z.B. IntelliJ IDEA, Eclipse, VS Code, Netbeans, etc.)
  • JDK 17+
  • Docker und Docker Compose V2 installiert und lauffähig (ggf. lokale Admin-Rechte auf dem Rechner erteilen)
  • Internetzugriff (ggf. Proxy-/Firewall-/VPN-Konfigurationen etc. überprüfen)
  • separater HTTP-Client, wenn die IDE diesen nicht mitbringt (z.B. Insomnia, Postman, REST-Client for VS Code Plugin, etc.)

Dauer

2 Tage

Öffentliche Termine

Kontaktiere mich!

Melde Dich gerne direkt über das folgende Kontaktformular bei mir, wenn Du Interesse an diesem KEYCLOAK Extension-Entwicklung-Training hast.
Ich freue mich darauf und werde mich so bald wie möglich bei Dir melden!