Keycloak als Identity Provider

yuuvis® RAD 10.x »

Identity Provider wie Keycloak können mittels OpenID Connect/OAuth2 über einen Reverse Proxy wie OpenResty zur Authentifizierung an yuuvis® RAD gateway angebunden werden.

Installation und Konfiguration von Keycloak für ein solches Szenario sind hier in Grundzügen beschreiben.

Keycloak-Installation

Die Installation erfolgt mit folgenden Schritten:

  • Download der aktuellen Version unter https://www.keycloak.org/downloads und entpacken in ein Verzeichnis.
  • Anpassen der Konfigurationsdatei standalone.xml aus dem Verzeichnis \standalone\configuration\:
  • Ergänzen des Abschnitts <interfaces> um folgenden Eintrag:

    • <interface name="any">
        <any-address/>
      </interface>

    • Im Abschnitt <socket-binding-group> für das Attribut <default-interface> folgenden Wert eintragen: any

    • Falls der Port 8080 nicht frei ist: Im Abschnitt <socket-binding-group> den Port über folgende Zeile ändern:

      <socket-binding name="http" port="${jboss.http.port:8080}"/>

  • Starten von Keycloak über die Datei \keycloak\bin\standalone.bat.

    Die Datei muss als Administrator ausgeführt werden.

  • Die Keycloak Admin Console aufrufen: http://localhost:8080/

  • Initial ein Administrationskonto anlegen.

Für den produktiven Einsatz wird empfohlen, Keycloak an ein anderes Relational Database Management System (RDBMS) anzubinden als an das standardmäßig eingebettete H2. Kompatible RDBMS werden von Keycloak empfohlen.

Keycloak: Mandant und Benutzer

Sie benötigen einen Mandanten und Benutzer.

Benutzer in Keycloak müssen ebenfalls in der yuuvis® RAD-Benutzerverwaltung eingetragen sein.

Mandanten und Benutzer legen Sie mit folgenden Schritten an:

  • Die Keycloak Admin Console aufrufen: http://localhost:8080/auth/admin

  • Im Navigationsbereich über Master > Add realm einen neuen Mandanten anlegen.

  • Für den Mandanten über Users > Add user einen Benutzer anlegen und speichern.

  • Über die Benutzer-Seite auf dem Tab Credentials ein Password angeben, die Option Temporary auf Off stellen und über Set Password speichern.

Keycloak: Anbindung an OpenResty

Für die Anbindung legen Sie einen Client mit folgenden Schritten an:

  • Die Keycloak Admin Console aufrufen: http://localhost:8080/auth/admin

  • Den Mandaten auswählen und über Clients > Create einen neuen Client anlegen.

  • Eine Bezeichnung in das Feld Client ID eingeben, in das Feld Root URL die URL von OpenResty eintragen und speichern.

  • Über die Client-Seite auf dem Tab Settings folgendes einstellen:

    • Access Type > confidential

    • Authorization Enabled > ON

    • Valid Redirect URIs > Muster: http://<OpenResty>/*

      yuuvis® RAD gateway und alle zu OpenResty führenden Basis-URLs müssen nach diesem Muster angegeben werden. Zusätzlich muss angegeben werden: http://127.0.0.1:*

  • Konfiguration über Save speichern.

Für die Konfiguration von OpenResty benötigen Sie folgende Daten:

  • Die Client-ID
  • Das Secret, es wird auf der Client-Seite auf dem Tab Credentials angezeigt.
  • Über Realm Settings auf dem Tab General im Feld Endpoints auf OpenID Endpoint Configuration klicken. Die URL, angepasst an den Keycloak-Host, wird für die Konfigurationsdatei von OpenResty benötigt.

 

Weiter notwendig ist folgende Einstellung in der Konfigurationsdatei application-prod.yml aus dem Verzeichnis \config von yuuvis® RAD service-manager:

  server.max-http-header-size: 1MB