my_voice_assistant_v3_jamulix/app/api
dschlueter 47daf918ae feat(2-Schritt1): Additiver Ein-Klick-Login per Capability-Token
Zweiter Auth-Weg NEBEN Authelia (nichts schaltet um, kein Aussperr-Risiko):
- Link https://voice.jamulix.de/?k=<token> -> Token landet im va_token-Cookie
  (HttpOnly, Secure, SameSite=Lax, 1 Jahr), Token wird aus der URL entfernt.
- Cookie/?k= authentifiziert App-Routen (require_user) und WS (/ws/voice,
  /ws/chat). Token = vorhandenes Nutzer-Token (get_user_by_token).
- authenticate(): fehlt der SSO-Header, wird auf Token-Auth durchgefallen
  (statt hartem 401) — Voraussetzung für die spätere nginx-Trennung.

Authelia/Forward-Auth bleibt voll funktionsfähig (Live verifiziert: beide
Wege gehen). Tests: Cookie-, ?k=- und Negativ-Pfad. 217 passed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 04:24:52 +02:00
..
__init__.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
admin.py feat(2a): Erlaubte Sprachen pro Nutzer (Admin-Vorgabe) 2026-06-25 04:06:09 +02:00
chat.py feat(P2): Notruf verschickt E-Mail an Kontaktperson (Testphase) 2026-06-25 03:37:18 +02:00
config.py feat: UI-Hinweis bei Cartesia + nicht unterstützter Sprache 2026-06-25 00:49:28 +02:00
devices.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
health.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
me.py refactor(ui): Geräte-STT entfernt + Menü-Redesign (schlanke Kopfzeile + ⋮-Sheet) 2026-06-20 22:26:20 +02:00
metrics.py feat: Resilienz (Fallback-Ketten) und Metriken (#5) 2026-06-17 05:19:07 +02:00
sessions.py feat: Cloud-Fundament - Auth, Persistenz und Mandanten-Trennung 2026-06-17 02:14:25 +02:00
speak.py Jamulix: Optimierungen übernehmen, lokale Voice-Modelle ignorieren 2026-06-24 22:01:38 +02:00
transcribe.py feat: Tageskontingent und Notfall-Eskalation (#6) 2026-06-17 05:29:30 +02:00
ws.py feat(2-Schritt1): Additiver Ein-Klick-Login per Capability-Token 2026-06-25 04:24:52 +02:00