97 lines
2.2 KiB
Markdown
97 lines
2.2 KiB
Markdown
|
|
# Keycloak Setup für r/place
|
|
|
|
## Keycloak Installation
|
|
|
|
### Docker (Empfohlen)
|
|
```bash
|
|
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`:
|
|
```ini
|
|
ENABLE_KEYCLOAK=true
|
|
KEYCLOAK_REALM=rplace
|
|
KEYCLOAK_AUTH_URL=http://localhost:8080
|
|
KEYCLOAK_CLIENT_ID=rplace-client
|
|
```
|
|
|
|
## Erweiterte Konfiguration
|
|
|
|
### HTTPS (Produktion)
|
|
Für Produktionsumgebungen:
|
|
```ini
|
|
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.
|