Revision 2 vom 2025-08-24 21:33:14

Nachricht löschen

Keycloak

Keycloak ist eine Identity Management Software, in Java geschrieben. Wir setzen sie seit August 2025 auf auth.ping.de ein.

Deployed als docker container. Für die User aus der Ping- und Prima-Mitglieder Datenbank haben wir den Realm PING angelegt.

Es gibt dort zwei Gruppen "ping" und "prima", so dass gewisse Dienste auf diese Gruppen eingeschränkt werden können (wenn Daten nicht existieren für alle User u.s.w.).

Neue Anwendung zu Keycloak hinzufügen

Wenn man dann eine Software hat, die sich via OIDC an ein Single Sign-on dranflanschen lässt, dann geht das wie folgt:

  1. Im Keycloak im Realm PING einen neuen Client anlegen.
    Meist findet man eine Anleitung, welche Parameter dabei zu beachten sind.
    Vermutlich wollt ihr unter "capability config" den Punkt "client authentication" einschalten. Darum geht es schließlich.
    Tragt auch die richtige URL des Clients unter Root URL ein.

  2. Nachdem ihr den Client angelegt habt, findet ihr in dessen Client details unter Credentials das Client secret. Das braucht ihr für die Anwendung, die angebunden werden soll.

  3. In der Anwendung könnt ihr bei der Konfiguration des OIDC vielleicht den Erkennungsendpunkt angeben. Der lautet
    https://auth.ping.de/realms/PING/.well-known/openid-configuration

Gruppen aus Keycloak in der Anwendung

Wenn ihr jetzt noch Rollen für besondere Berechtigungen vom Keycloak in eure Anwendung übernehmen wollt, dann könnt ihr im Keycloak noch Client Roles definieren, Usern diese zuweisen und dann in einem Client scope für den Client die Rollen mappen. Dazu legt ihr einen token mapper vom Typ user client roles an. Dort ist vermutlich die Checkbox "Add to ID token" wichtig, also aktiviert die.

Viel Erfolg.