3.6 KiB
3.6 KiB
Keycloak Client Anlegen
Diese Schritte legen den Client fuer desktop.kusche.berlin in Keycloak an.
Ziel
Wir brauchen einen eigenen OpenID-Client fuer die Desktop-Shell, damit:
- der Login ueber Keycloak laeuft
- der Ruecksprung sauber auf
desktop.kusche.berlinerfolgt - spaeter ein eigenes Login-Theme fuer diesen Client genutzt werden kann
Vorab benoetigte Daten
Vor dem Anlegen solltest du diese Werte kennen:
- Keycloak Basis-URL
- Beispiel:
https://auth.kusche.berlin
- Beispiel:
- Realm-Name
- Beispiel:
kusche-berlin
- Beispiel:
- Staging-Domain
- Beispiel:
https://desktop-staging.kusche.berlin
- Beispiel:
- Live-Domain
- Beispiel:
https://desktop.kusche.berlin
- Beispiel:
Client anlegen
- In Keycloak einloggen.
- Den passenden Realm auswaehlen.
Clientsaufrufen.Create clientklicken.
Grunddaten
Diese Werte setzen:
Client type:OpenID ConnectClient ID:desktop-kusche-berlinName:Desktop Kusche BerlinDescription:Desktop Shell Login fuer Kusche.Berlin
Dann Next.
Capability config
Diese Werte setzen:
Client authentication:OnAuthorization:OffStandard flow:OnDirect access grants:OffImplicit flow:OffService accounts roles:Off
Dann Next.
Login config
Diese Werte setzen:
Root URL:- Staging zuerst:
https://desktop-staging.kusche.berlin
- Staging zuerst:
Home URL:https://desktop-staging.kusche.berlin/
Valid redirect URIs:https://desktop-staging.kusche.berlin/auth/callback- spaeter zusaetzlich live:
https://desktop.kusche.berlin/auth/callback
Valid post logout redirect URIs:https://desktop-staging.kusche.berlin/- spaeter zusaetzlich live:
https://desktop.kusche.berlin/
Web origins:https://desktop-staging.kusche.berlin- spaeter zusaetzlich live:
https://desktop.kusche.berlin
Dann Save.
Client Secret holen
Nach dem Speichern:
- Den neuen Client oeffnen.
- Auf
Credentialsgehen. - Das generierte Secret kopieren.
Dieses Secret bitte noch nicht ins Repo schreiben.
Optional aber sinnvoll
Diese Einstellungen danach noch pruefen:
Login theme- spaeter auf das eigene Desktop-Theme setzen
Consent requiredOff
Display on consent screenOff
Werte fuer unser Projekt
Nach dem Anlegen brauchen wir diese finalen Werte:
base_url- Beispiel:
https://auth.kusche.berlin
- Beispiel:
realm- Beispiel:
kusche-berlin
- Beispiel:
client_iddesktop-kusche-berlin
client_secret- aus
Credentials
- aus
Danach im Projekt eintragen
Die Werte kommen danach in eine Umgebungsdatei, nicht in die allgemeine Basisdatei.
Geplant ist:
config/staging/keycloak.phpconfig/prod/keycloak.php
Beispielstruktur:
<?php
declare(strict_types=1);
return [
'enabled' => true,
'enforce_login' => true,
'allow_desktop_preview' => false,
'base_url' => 'https://auth.kusche.berlin',
'realm' => 'kusche-berlin',
'client_id' => 'desktop-kusche-berlin',
'client_secret' => 'HIER_DAS_SECRET',
'redirect_path' => '/auth/callback',
'scopes' => ['openid', 'profile', 'email'],
];
Wichtig
client_secretgehoert nicht inconfig/keycloak.php- nur in
config/staging/keycloak.phpbzw.config/prod/keycloak.php - wenn Staging und Live unterschiedliche Keycloak-Clients bekommen sollen, dann je Umgebung eigene
client_idund eigenes Secret nutzen
Rueckmeldung an Codex
Wenn der Client angelegt ist, brauche ich von dir nur:
base_urlrealmclient_id- ob Staging und Live denselben Client nutzen sollen oder getrennte Clients
Das Secret musst du mir nicht im Chat schicken, wenn du es lieber direkt lokal in die Env-Datei eintragen willst.