Keycloak Extensions entwickeln

2 Tage

Termine und Buchung

Beschreibung

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.

Agenda

Kennenlernen der wichtigsten Konzepte für Keyclaok-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

Zielgruppe

Der Workshop richtet sich an Softwareentwickler:innen, 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.

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.)

Lernziele

Keycloak SPIs implementieren

Keycloak-Extensions testen

Kennenlernen der relevanten Keycloak Interfaces und Klassen

Sicherer Umgang mit den wichtigsten Keycloak Interfaces, Klassen und Objekten

Deine Trainer:innen

Niko Köbler

Niko Köbler IT-Beratung

Keycloak, IAM

Niko Köbler ist Freelancer und seit über acht Jahren als Keycloak- und IAM-Experte für Kunden aus unterschiedlichen Branchen europaweit tätig. Auf YouTube betreibt er seit Anfang 2021 einen erfolgreichen Keycloak-Channel und unterstützt die Community in verschiedenen Foren. Außerdem ist er ein bekannter und gefragter Sprecher auf IT-Konferenzen, Co-Lead einer Java User Group und schreibt als Autor Artikel für verschiedene Fachzeitschriften. https://www.n-k.de

Online-Termine

Vor-Ort-Termine

Termine auf Anfrage

Event-Ticketing-Software von pretix

Inhouse Training

Du kannst dieses Training auch als Inhouse-Training exklusiv für dein Team buchen. Bitte nutze dafür unser Anfrage-Formular.

Jetzt anfragen