This is an old revision of the document!
Table of Contents
CCCHH ID
- service-urls:
- https://id.hamburg.ccc.de/, https://keycloak-admin.hamburg.ccc.de/
- host-fqdn:
- keycloak.hamburg.ccc.de
- server:
- Chaosknoten
- maintainer:
- Infra-Team
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.hamburg.ccc.de/realms/ccchh/account/
Angebundene Services
Zur Zeit sind folgende Services angebunden:
- ThinkCCCluster (Gruppen werden aber nicht aus dem Keycloak übernommen, sondern müssen im PVE manuell zugewiesen werden.
)
Folgenden Services sollen noch angebunden werden:
- Eine geplante Nextcloud
- Ein geplantes HedgeDoc
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.hamburg.ccc.de/admin/master/console/
Oder auch mit limitierten Rechten durch den eigenen Nutzer-Account unter folgender URL: https://keycloak-admin.hamburg.ccc.de/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.
Admin How-To
Nutzeraccount anlegen
- Add user
- Required user actions: Update Password, Verify Email
- Ggf. zur “intern”-Gruppe hinzufügen
- Unter “User Details” auf “Credentials” einen Credential Reset auslösen
- Reset Actions: Update Password, Verify Email
- Expires In: 2 days