keycloak
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
keycloak [2022/08/07 10:45] – lukasstaab | keycloak [2024/01/28 08:58] (current) – matthiaslueth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ssh-host: h11.hostsharing.net | + | ====== Keycloak ====== |
- | ssh-user: opa02_jusos_keycloak | + | SSH Zugang grundsätzlich via: ssh opa02-jusos_keycloak@h11.hostsharing.net |
+ | Passwort siehe [[Bitwarden]] | ||
+ | ===== Neue Doku (vor 2024) ====== | ||
+ | Generell ist die Keycloak Dokumentation zu empfehlen: [[https:// | ||
+ | Keycloak wird laufend weiterentwickelt und Foren-Einträge sind häufig veraltet, während die Hauptdokumentation bei Google schlecht indiziert ist. | ||
+ | |||
+ | ==== Deployment ==== | ||
+ | Aktuelle Version ist immer in < | ||
+ | === Start/ | ||
+ | < | ||
+ | < | ||
+ | Stand 2024-01-28 | ||
+ | #!/bin/bash | ||
+ | |||
+ | set -e #stop on error | ||
+ | set -x #prints commands | ||
+ | |||
+ | cd $HOME/ | ||
+ | ./bin/kc.sh build --metrics-enabled=true --cache=local | ||
+ | systemctl --user restart keycloak | ||
+ | sleep 1 | ||
+ | systemctl --user status keycloak | ||
+ | </ | ||
+ | |||
+ | === Unit-Skript === | ||
+ | Hält den Dienst dauerhaft alive | ||
+ | < | ||
+ | < | ||
+ | Stand 2024-01-28 | ||
+ | [Unit] | ||
+ | Description=Keycloak Open Source Identity and Access Management | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | Restart=always | ||
+ | RestartSec=2s | ||
+ | ExecStart=%h/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | ==== Server-Konfiguration ==== | ||
+ | === Konfigurationsdatei === | ||
+ | < | ||
+ | Host: 127.0.0.1 | ||
+ | Port: 9005 | ||
+ | |||
+ | === Log === | ||
+ | < | ||
+ | |||
+ | === Theme === | ||
+ | Wir überschreiben zur Zeit nur das Login-Theme (SSO). Das Theme ist ein Clon vom Keycloakv1-Theme (/ | ||
+ | |||
+ | Letztlich haben wir primär das Hintergrundbild ausgetauscht und ein paar Kleinigkeiten verändert. | ||
+ | Unser Theme liegt als „Rote Tools v4“ im Theme-Ordner. | ||
+ | |||
+ | ToDo: Theme vernünftig vom KC-V1-Theme erben lassen. | ||
+ | |||
+ | == Achtung, Stolperfallen == | ||
+ | * Neues Theme lädt nicht? | ||
+ | * Es können für jeden Client eigene Themes geladen werden, die das globale Theme überschreiben. | ||
+ | * Keycloak mit folgendem Befehl neu starten: < | ||
+ | |||
+ | |||
+ | ==== Webkonfiguration ==== | ||
+ | Zugang unter [[https:// | ||
+ | |||
+ | === Realms === | ||
+ | Keycloak erlaubt Realms für verschiedene Nutzer: | ||
+ | |||
+ | === Username-Validation === | ||
+ | Um eine Username-Validation bei der Registrierung zu ermöglichen, | ||
+ | |||
+ | Unter Realm-Settings > User Profile > username läuft die Validation via pattern: | ||
+ | < | ||
+ | |||
+ | Die Errormessage wird über die Sprachkonfiguration Realm-Settings > Localization ausgegeben. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Alte Doku (vor 2023) ======= | ||
+ | ==== Links für Dienste (open id discovery url) ==== | ||
+ | https:// | ||
==== Server Neustart ==== | ==== Server Neustart ==== | ||
Line 11: | Line 96: | ||
gestartet werden - der logoutput landet dann im stdout in der Konsole | gestartet werden - der logoutput landet dann im stdout in der Konsole | ||
+ | |||
+ | ==== Reverse-Proxy ==== | ||
+ | Unter | ||
+ | ~/ | ||
+ | ist der Proxy definiert der den output der Java-Anwendung vom Localhost ins Netz durchreicht. Dateien die mit dem korrekten Pfad im htdocs-ssl ordner gefunden werden, werden prioritär behandelt. | ||
+ | |||
+ | |||
+ | ===== Theme ===== | ||
+ | Zur Zeit existiert ein rudimentäres Custom-Juso-Theme auf Skeleton-Basis für die SSO-Login/ | ||
+ | ~/ | ||
+ | |||
+ | Das Theme extended das Basis-Template um die CSS-Dateien style.css, skeleton.css und normalize.css. An den HTML-Grundlagen wurde nichts angepasst. | ||
+ | |||
+ | ==== Theme-Entwicklung ==== | ||
+ | Um am Theme zu entwickeln, empfiehlt sich eine lokale Standalone-Instanz aufzusetzen und mit folgenden Optionen zu starten: | ||
+ | bin/kc.sh start-dev --spi-theme-static-max-age=-1 --spi-theme-cache-themes=false --spi-theme-cache-templates=false | ||
+ | |||
+ | ==== Offene TODOs ==== | ||
+ | * Weg migrieren vom Master Realm, der sollte nur für KC selbst verwendet werden, Test Realms für den API Test | ||
+ | * Theme mobile optimieren | ||
+ | * Rausfinden wie man Gruppen mit den fine grant permissions selbstverwaltet organisieren kann | ||
+ | * Prüfen ob andere Loginvarianten sinnvoll / nötig sind (TOPT, Magic Link) | ||
+ | * Rechte Management aufräumen, das man granularer pro Client Admin rechte vergeben kann | ||
+ | * mehr Attribute ausliefern. Wie bspw. Quotas, Picture URL uvm |
keycloak.1659869102.txt.gz · Last modified: 2022/10/30 17:55 (external edit)