Add SSO admin console for dashboard
All checks were successful
Build & Push Docker Image to Gitea Registry / build-and-push (push) Successful in 11s
All checks were successful
Build & Push Docker Image to Gitea Registry / build-and-push (push) Successful in 11s
This commit is contained in:
24
Brain.md
24
Brain.md
@@ -45,6 +45,7 @@ Aktueller Stand: Die Seite ist keine reine Linkliste mehr, sondern ein kompaktes
|
||||
- **PWA**: Manifest, Apple-Touch-Icon, App-Icons und Service Worker fuer installierbare iOS/Web-App
|
||||
- **Dashboard**: Kategorien `Zugang`, `Medien`, `Arbeit`, `Persoenlich`, Suche und clientseitige no-cors Statuschecks
|
||||
- **Auth-Link**: Zeigt auf die Keycloak Account Console (`/realms/mischlabs/account`), nicht mehr auf die Admin-Konsole
|
||||
- **Adminseite**: `/admin.html` nutzt Keycloak Authorization Code + PKCE fuer Login und bietet Editor/Statusdiagnose fuer Dienste
|
||||
|
||||
## Docker-Setup
|
||||
- **Container-Name**: `mischlabs`
|
||||
@@ -59,6 +60,9 @@ mischlabs/
|
||||
index.html - Haupt-HTML mit allen 9 Service-Kacheln
|
||||
style.css - Komplettes Styling (Dark Theme, Grid, Animationen)
|
||||
app.js - Suche, Filter, Statuschecks, Service-Worker-Registrierung
|
||||
admin.html - SSO-geschuetzte Adminoberflaeche
|
||||
admin.js - Keycloak PKCE Login, Editor, Statusdiagnose
|
||||
services.json - Zentrale Service-/Kategorie-Konfiguration
|
||||
offline.html - Offline-Fallback fuer installierte PWA
|
||||
manifest.webmanifest - PWA-Metadaten fuer installierbare App
|
||||
sw.js - Schlanker Service Worker mit App-Shell-Cache
|
||||
@@ -105,8 +109,8 @@ mischlabs/
|
||||
- `icons/icon-512.png` (512x512)
|
||||
- `icons/maskable-512.png` (512x512, maskable)
|
||||
- Service Worker:
|
||||
- Cache-Name: `mischlabs-pwa-v3`
|
||||
- Cached die App-Shell (`/`, `index.html`, `offline.html`, `style.css?v=9`, `app.js?v=1`, Manifest und Icons)
|
||||
- Cache-Name: `mischlabs-pwa-v4`
|
||||
- Cached die App-Shell (`/`, `index.html`, `offline.html`, `style.css?v=10`, `app.js?v=2`, `services.json?v=1`, Manifest und Icons)
|
||||
- Navigationen fallen offline auf `offline.html` zurueck
|
||||
- Dockerfile kopiert Manifest, Service Worker und Icons in das Nginx-Image.
|
||||
- `nginx.conf` liefert `manifest.webmanifest` mit `application/manifest+json` und `sw.js` mit harten No-Cache-Headern aus.
|
||||
@@ -121,3 +125,19 @@ mischlabs/
|
||||
- Arbeit: Git, MiChess
|
||||
- Persoenlich: Tom
|
||||
- `app.js` prueft Dienste im Hintergrund per `fetch(..., { mode: "no-cors" })`. Das ist bewusst nur ein Erreichbarkeitsindikator, kein vollwertiges Monitoring.
|
||||
|
||||
## Adminseite Stand 2026-05-21
|
||||
- URL: `https://mischlabs.de/admin.html`
|
||||
- SSO-Client in Keycloak benoetigt:
|
||||
- Client ID: `mischlabs-admin`
|
||||
- Client type: OpenID Connect
|
||||
- Client authentication: Off/Public Client
|
||||
- Standard flow: On
|
||||
- Valid redirect URI: `https://mischlabs.de/admin.html`
|
||||
- Valid post logout redirect URI: `https://mischlabs.de/admin.html`
|
||||
- Web origin: `https://mischlabs.de`
|
||||
- Scopes: `openid email profile`
|
||||
- Erlaubter Admin in der statischen UI:
|
||||
- `preferred_username=mrdiderot` oder `email=mail.misch@pm.me`
|
||||
- Aktuelle Grenze: Weil mischlabs noch rein statisch ueber Nginx laeuft, kann `/admin.html` globale Aenderungen noch nicht serverseitig speichern. Der Editor speichert lokal im Browser (`localStorage`) und kann eine neue `services.json` exportieren. Fuer echte Live-Aenderungen braucht der naechste Schritt ein kleines Backend oder einen Gitea-Commit-Workflow.
|
||||
- Statusdiagnose nutzt Browser-Fetch mit `mode: "no-cors"`. Dadurch erkennt sie Erreichbarkeit/Timeouts, aber bei fremden Subdomains keine echten HTTP-Statuscodes. Fuer echte Fehlerdetails braucht es ebenfalls ein Backend.
|
||||
|
||||
Reference in New Issue
Block a user