feat: increase SSO and offline session timeouts in realm configuration

This commit is contained in:
Kroonk
2026-05-21 22:31:13 +02:00
parent 8a4beb879a
commit 3701646a0c
2 changed files with 19 additions and 11 deletions

View File

@@ -8,11 +8,11 @@ Zentrales Single Sign-On (SSO) fuer alle MischLabs-Dienste ueber Keycloak. Laeuf
- [x] docker-compose.yml mit Keycloak + PostgreSQL erstellt - [x] docker-compose.yml mit Keycloak + PostgreSQL erstellt
- [x] Realm-Konfiguration als JSON (mischlabs-realm.json) mit 10 Clients - [x] Realm-Konfiguration als JSON (mischlabs-realm.json) mit 10 Clients
- [x] .env.example und .gitignore erstellt - [x] .env.example und .gitignore erstellt
- [ ] .env mit echten Passwoertern auf der NAS anlegen - [x] .env mit echten Passwoertern auf der NAS anlegen
- [ ] Erster Push zum Remote (Git-Auth-Fehler, muss manuell gepusht werden) - [x] Erster Push zum Remote
- [ ] Deployment auf MischNAS (docker compose up -d) - [x] Deployment auf MischNAS (docker compose up -d)
- [ ] Cloudflare Tunnel Route fuer auth.mischlabs.de -> localhost:8180 - [x] Cloudflare Tunnel Route fuer auth.mischlabs.de -> localhost:8180
- [ ] Client Secrets aus Keycloak Admin-Console holen - [x] Client Secrets aus Keycloak Admin-Console holen
- [ ] Tier-1-Dienste anbinden (Gitea, Nextcloud, Mealie, Docs) - [ ] Tier-1-Dienste anbinden (Gitea, Nextcloud, Mealie, Docs)
- [ ] Tier-2-Dienste anbinden (Audiobookshelf, Vaultwarden, PocketBase) - [ ] Tier-2-Dienste anbinden (Audiobookshelf, Vaultwarden, PocketBase)
- [ ] Tier-3-Dienste via Cloudflare Access (Jellyfin, MiChess) - [ ] Tier-3-Dienste via Cloudflare Access (Jellyfin, MiChess)
@@ -20,9 +20,9 @@ Zentrales Single Sign-On (SSO) fuer alle MischLabs-Dienste ueber Keycloak. Laeuf
## Dienste-Integration (9 + Cloudflare Access) ## Dienste-Integration (9 + Cloudflare Access)
| # | Client ID | Subdomain | Tier | Status | | # | Client ID | Subdomain | Tier | Status |
|---|-----------|-----------|------|--------| |---|-----------|-----------|------|--------|
| 1 | gitea | git.mischlabs.de | 1 - Nativ OIDC | Offen | | 1 | gitea | git.mischlabs.de | 1 - Nativ OIDC | FERTIG |
| 2 | nextcloud | drive.mischlabs.de | 1 - Nativ OIDC | Offen | | 2 | nextcloud | drive.mischlabs.de | 1 - Nativ OIDC | Offen |
| 3 | mealie | foodlabs.mischlabs.de | 1 - Nativ OIDC | Offen | | 3 | mealie | foodlabs.mischlabs.de | 1 - Nativ OIDC | ENTFERNT (war nur Test) |
| 4 | docs | docs.mischlabs.de | 1 - Nativ OIDC | Offen | | 4 | docs | docs.mischlabs.de | 1 - Nativ OIDC | Offen |
| 5 | audiobookshelf | audiobook.mischlabs.de | 2 - Teilweise | Offen | | 5 | audiobookshelf | audiobook.mischlabs.de | 2 - Teilweise | Offen |
| 6 | vaultwarden | password.mischlabs.de | 2 - Teilweise | Offen | | 6 | vaultwarden | password.mischlabs.de | 2 - Teilweise | Offen |
@@ -168,5 +168,9 @@ auth/
- Jellyfin hat kein natives OIDC - Community-Plugin oder Cloudflare Access - Jellyfin hat kein natives OIDC - Community-Plugin oder Cloudflare Access
- Port 9000 NICHT ueber Cloudflare Tunnel exponieren (nur Health/Metrics) - Port 9000 NICHT ueber Cloudflare Tunnel exponieren (nur Health/Metrics)
- Bei Realm-Import: `--import-realm` ueberspringt bereits existierende Realms - Bei Realm-Import: `--import-realm` ueberspringt bereits existierende Realms
- Git-Push schlug fehl (Auth-Fehler) - muss manuell mit frischem Token gepusht werden
- Verwandtes Projekt: mischlabs Landing Page (d:\Vibecoding\Website\mischlabs) - Verwandtes Projekt: mischlabs Landing Page (d:\Vibecoding\Website\mischlabs)
- Passwoerter in .env OHNE $-Zeichen verwenden (Docker interpretiert $ als Variable)
- Admin-Login geht ueber /admin/master/console/ (nicht /admin/mischlabs/console/)
- Gitea: ALLOW_ONLY_EXTERNAL_REGISTRATION=true unter [service] in app.ini noetig
- Gitea: ENABLE_AUTO_REGISTRATION=true muss unter [oauth2] stehen (nicht am Dateiende!)
- Gitea: Account-Merge funktioniert automatisch wenn Keycloak-Username = Gitea-Username

View File

@@ -16,9 +16,13 @@
"maxDeltaTimeSeconds": 43200, "maxDeltaTimeSeconds": 43200,
"failureFactor": 5, "failureFactor": 5,
"accessTokenLifespan": 300, "accessTokenLifespan": 300,
"ssoSessionIdleTimeout": 1800, "ssoSessionIdleTimeout": 2592000,
"ssoSessionMaxLifespan": 36000, "ssoSessionMaxLifespan": 7776000,
"offlineSessionIdleTimeout": 2592000, "ssoSessionIdleTimeoutRememberMe": 2592000,
"ssoSessionMaxLifespanRememberMe": 7776000,
"offlineSessionIdleTimeout": 7776000,
"offlineSessionMaxLifespan": 15552000,
"offlineSessionMaxLifespanEnabled": true,
"roles": { "roles": {
"realm": [ "realm": [
{ {