Files
desktop/temp/KEYCLOAK_CLIENT_ANLEGEN.md
Lars Gebhardt-Kusche 1ae7b98378
All checks were successful
Deploy / deploy-staging (push) Successful in 46s
Deploy / deploy-production (push) Has been skipped
keycloak
2026-06-08 02:45:36 +02:00

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.berlin erfolgt
  • 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
  • Realm-Name
    • Beispiel: kusche-berlin
  • Staging-Domain
    • Beispiel: https://desktop-staging.kusche.berlin
  • Live-Domain
    • Beispiel: https://desktop.kusche.berlin

Client anlegen

  1. In Keycloak einloggen.
  2. Den passenden Realm auswaehlen.
  3. Clients aufrufen.
  4. Create client klicken.

Grunddaten

Diese Werte setzen:

  • Client type: OpenID Connect
  • Client ID: desktop-kusche-berlin
  • Name: Desktop Kusche Berlin
  • Description: Desktop Shell Login fuer Kusche.Berlin

Dann Next.

Capability config

Diese Werte setzen:

  • Client authentication: On
  • Authorization: Off
  • Standard flow: On
  • Direct access grants: Off
  • Implicit flow: Off
  • Service accounts roles: Off

Dann Next.

Login config

Diese Werte setzen:

  • Root URL:
    • Staging zuerst: https://desktop-staging.kusche.berlin
  • 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:

  1. Den neuen Client oeffnen.
  2. Auf Credentials gehen.
  3. 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 required
    • Off
  • Display on consent screen
    • Off

Werte fuer unser Projekt

Nach dem Anlegen brauchen wir diese finalen Werte:

  • base_url
    • Beispiel: https://auth.kusche.berlin
  • realm
    • Beispiel: kusche-berlin
  • client_id
    • desktop-kusche-berlin
  • client_secret
    • aus Credentials

Danach im Projekt eintragen

Die Werte kommen danach in eine Umgebungsdatei, nicht in die allgemeine Basisdatei.

Geplant ist:

  • config/staging/keycloak.php
  • config/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_secret gehoert nicht in config/keycloak.php
  • nur in config/staging/keycloak.php bzw. config/prod/keycloak.php
  • wenn Staging und Live unterschiedliche Keycloak-Clients bekommen sollen, dann je Umgebung eigene client_id und eigenes Secret nutzen

Rueckmeldung an Codex

Wenn der Client angelegt ist, brauche ich von dir nur:

  • base_url
  • realm
  • client_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.