Variante 1: Senioren behalten ihren persönlichen Link; zusätzlich ein Passwort-Einstieg ohne 2FA über Authelia. - Neuer Endpunkt GET /api/login (app_login): hinter Authelia (nginx-Location /login, one_factor), erkennt den per Remote-User weitergereichten Nutzer (Admin ODER normaler Authelia-Nutzer), mintet das va_token-Cookie und leitet in die App (/). Cookie-Mint in _issue_login_cookie() gemeinsam mit /api/admin/login refaktoriert. - "Persönlicher Zugang nötig"-Seite (main.py) bekommt einen großen Knopf „Mit Benutzername & Passwort anmelden" -> /login. Bare / leitet bewusst NICHT automatisch um (Senioren ohne Authelia-Konto würden sonst feststecken). Begleitende Infra (außerhalb des Repos): - nginx: location = /login (auth_request one_factor -> /api/login). - Authelia: access_control-Regel voice.jamulix.de -> one_factor (über der *.jamulix.de-Wildcard); damit sind App-Login UND Admin nur noch 1FA, andere Subdomains bleiben 2FA. Tests: /api/login für Nicht-Admin/Admin/ohne-Identität. 257 Offline-Tests grün. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| admin.py | ||
| chat.py | ||
| config.py | ||
| devices.py | ||
| health.py | ||
| me.py | ||
| metrics.py | ||
| sessions.py | ||
| speak.py | ||
| transcribe.py | ||
| ws.py | ||