place_maxlan/KEYCLOAK_SETUP.md

2.2 KiB

Keycloak Setup für r/place

Keycloak Installation

Docker (Empfohlen)

docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest \
  start-dev

Standalone Installation

  1. Lade Keycloak von https://www.keycloak.org/downloads herunter
  2. Entpacke das Archiv
  3. Starte Keycloak: bin/kc.sh start-dev

Konfiguration

1. Admin Console öffnen

Gehe zu http://localhost:8080/admin und melde dich mit admin/admin an.

2. Realm erstellen

  1. Klicke auf "Create Realm"
  2. Name: rplace
  3. Klicke "Create"

3. Client erstellen

  1. Gehe zu "Clients" → "Create client"
  2. Client ID: rplace-client
  3. Client type: OpenID Connect
  4. Klicke "Next"
  5. Client authentication: OFF (Public client)
  6. Standard flow: ON
  7. Direct access grants: ON
  8. Klicke "Save"

4. Client Settings

  1. Gehe zu deinem Client rplace-client
  2. Settings Tab:
    • Valid redirect URIs: http://localhost:5000/*
    • Valid post logout redirect URIs: http://localhost:5000/*
    • Web origins: http://localhost:5000
  3. Klicke "Save"

5. Test User erstellen

  1. Gehe zu "Users" → "Add user"
  2. Username: testuser
  3. Klicke "Create"
  4. Gehe zum "Credentials" Tab
  5. Setze ein Passwort und deaktiviere "Temporary"

r/place Konfiguration

Bearbeite config.cfg:

ENABLE_KEYCLOAK=true
KEYCLOAK_REALM=rplace
KEYCLOAK_AUTH_URL=http://localhost:8080
KEYCLOAK_CLIENT_ID=rplace-client

Erweiterte Konfiguration

HTTPS (Produktion)

Für Produktionsumgebungen:

KEYCLOAK_AUTH_URL=https://dein-keycloak-server.de

Benutzer-Attribute

Du kannst zusätzliche Benutzerattribute in Keycloak konfigurieren:

  1. Gehe zu "Client scopes"
  2. Bearbeite "profile" scope
  3. Füge Mappers für zusätzliche Attribute hinzu

Sicherheit

  • Ändere Admin-Passwort
  • Konfiguriere SSL/TLS
  • Setze starke Passwort-Richtlinien
  • Aktiviere Brute-Force-Schutz

Fehlerbehebung

CORS-Probleme

Stelle sicher, dass die Web origins korrekt konfiguriert sind.

Token-Probleme

Überprüfe die Client-Konfiguration und Redirect-URIs.

Verbindungsprobleme

Stelle sicher, dass Keycloak erreichbar ist und die URLs korrekt sind.