add Keycloak, add better canvas
This commit is contained in:
96
KEYCLOAK_SETUP.md
Normal file
96
KEYCLOAK_SETUP.md
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
# 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.
|
||||
Reference in New Issue
Block a user