From 3701646a0cf2cf7c5fdd2034c1ac7aed34e22a02 Mon Sep 17 00:00:00 2001 From: Kroonk Date: Thu, 21 May 2026 22:31:13 +0200 Subject: [PATCH] feat: increase SSO and offline session timeouts in realm configuration --- Brain.md => brain.old | 20 ++++++++++++-------- realm/mischlabs-realm.json | 10 +++++++--- 2 files changed, 19 insertions(+), 11 deletions(-) rename Brain.md => brain.old (89%) diff --git a/Brain.md b/brain.old similarity index 89% rename from Brain.md rename to brain.old index e547303..75825fc 100644 --- a/Brain.md +++ b/brain.old @@ -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] Realm-Konfiguration als JSON (mischlabs-realm.json) mit 10 Clients - [x] .env.example und .gitignore erstellt -- [ ] .env mit echten Passwoertern auf der NAS anlegen -- [ ] Erster Push zum Remote (Git-Auth-Fehler, muss manuell gepusht werden) -- [ ] Deployment auf MischNAS (docker compose up -d) -- [ ] Cloudflare Tunnel Route fuer auth.mischlabs.de -> localhost:8180 -- [ ] Client Secrets aus Keycloak Admin-Console holen +- [x] .env mit echten Passwoertern auf der NAS anlegen +- [x] Erster Push zum Remote +- [x] Deployment auf MischNAS (docker compose up -d) +- [x] Cloudflare Tunnel Route fuer auth.mischlabs.de -> localhost:8180 +- [x] Client Secrets aus Keycloak Admin-Console holen - [ ] Tier-1-Dienste anbinden (Gitea, Nextcloud, Mealie, Docs) - [ ] Tier-2-Dienste anbinden (Audiobookshelf, Vaultwarden, PocketBase) - [ ] 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) | # | 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 | -| 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 | | 5 | audiobookshelf | audiobook.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 - Port 9000 NICHT ueber Cloudflare Tunnel exponieren (nur Health/Metrics) - 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) +- 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 diff --git a/realm/mischlabs-realm.json b/realm/mischlabs-realm.json index 92755a8..7c188ef 100644 --- a/realm/mischlabs-realm.json +++ b/realm/mischlabs-realm.json @@ -16,9 +16,13 @@ "maxDeltaTimeSeconds": 43200, "failureFactor": 5, "accessTokenLifespan": 300, - "ssoSessionIdleTimeout": 1800, - "ssoSessionMaxLifespan": 36000, - "offlineSessionIdleTimeout": 2592000, + "ssoSessionIdleTimeout": 2592000, + "ssoSessionMaxLifespan": 7776000, + "ssoSessionIdleTimeoutRememberMe": 2592000, + "ssoSessionMaxLifespanRememberMe": 7776000, + "offlineSessionIdleTimeout": 7776000, + "offlineSessionMaxLifespan": 15552000, + "offlineSessionMaxLifespanEnabled": true, "roles": { "realm": [ {