User Tools

Site Tools


infrastructure:services:keycloak

This is an old revision of the document!


CCCHH ID

service-urls:
https://id.ccchh.net/, https://keycloak-admin.ccchh.net/
host-fqdn:
keycloak.z9.ccchh.net
server:
ThinkCCCluster
maintainer:
Julian

CCCHH ID ist unser SSO- und Account-System. Es ist realisiert durch eine Keycloak-Instanz. So können wir jeder interessierten Person einen Account bieten, mit welchem diese dann je nach Rechtelevel all die verschiedenen Club-Services nutzen kann.

Nutzeraccounts

Um einen Nutzeraccount zu bekommen, meldet euch bitte einfach im CCCHH IRC- bzw. Matrix-Channel.

Der eigene Account kann dann unter folgender URL verwaltet werden: https://id.ccchh.net/realms/ccchh/account/

Angebundene Services

Zur Zeit sind folgende Services angebunden:

Folgenden Services sollen noch angebunden werden:

Konfiguration

Die einzelnen an Keycloak angebundenen Anwendungen heißen “clients”, die Nutzeraccounts sind “user”. Alle Nutzeraccounts für die Club-Services liegen im “ccchh” realm.

Da die verschiedenen Services (clients) unterschiedliche Rollen-/ Gruppen-Namen für dieselben Funktionalitäten verwenden könne, sollten für jeden Client unter “Clients → $client → Roles” eingerichtet werden. Im Keycloak können dann Real-weite Gruppen angelegt werden, die eine Reihe von Client-Roles enthalten.

Support für 2FA via WebAuthn wurde über einen selbst erstellten Authentication Flow namens “webauthn browser” realisiert. Dieser ist eine angepasste Kopie des built-in browser flow mit WebAuthn Support. Hierzu wurde diese Doku zu rate gezogen.

Keycloak-Konfiguration kann entweder über den Admin-User selbst vorgenommen werden unter folgender URL: https://keycloak-admin.ccchh.net/admin/master/console/

Oder auch mit limitierten Rechten durch den eigenen Nutzer-Account unter folgender URL: https://keycloak-admin.ccchh.net/admin/ccchh/console/

DokuWiki

Damit die Gruppen korrekt ins Dokuwiki übertragen werden, muss in den Keycloak Client-Settings unter “Client Scopes” → “$client-dedicated” ein neuer Mapper angelegt werden:

  • Add Mapper: By Configuration: “User Client Role”
    • Name: wiki-groups
    • Client ID: Select the wiki client
    • Multivalued: On
    • Token Claim Name: groups
    • Claim JSON Type: String
    • Add to ID token: yes
    • Add to access token: yes
    • Add to userinfo: yes

In Dokuwiki muss noch die Option “plugin»oauth»overwrite-groups” aktiviert werden, damit Dokuwiki-Gruppen auch wieder entfernt werden.

Außerdem ist wichtig, dass Keycloak allen Usern die “user”-Gruppe vom Dokuwiki zuweist.

infrastructure/services/keycloak.1684979855.txt.gz · Last modified: 2023-05-25 01:57 UTC by julian

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki