BUG: KI-Chat-Stream 403 'Stream failed: 403' und Wiki-Speichern 403 nach Seiten-Reload (CSRF-Token fehlt) #351
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptome
Stream failed: 403— Chat nicht möglich.Ursachen (verifiziert im Code)
frontend/src/api/ai.ts streamChat()liestsessionStorage.getItem('leocrm_csrf_token')— dieser Key wird nirgends geschrieben → Request geht ohneX-CSRF-Tokenraus → CSRFMiddleware antwortet 403csrf_missing_token. Betrifft den Chat immer.useCurrentUser(/auth/me) ihn nicht wieder her, weil/auth/meden Token nicht liefert → alle Mutationen (Wiki-Save PATCH/POST u.a.) scheitern nach jedem Reload mit 403.Fix (in Arbeit)
/auth/meliefertcsrf_tokenaus der Session zurück.useCurrentUserstellt den Token beim Bootstrap wieder her;streamChatnutztgetCsrfToken()aus dem gemeinsamen Client statt des toten sessionStorage-Keys.test_me_returns_csrf_token_for_reload_restore) + Vitest (streamChat.test.ts).Gefixt in Commit
ebf4b03— deployed und live verifiziert (2026-08-27 11:15):Fix
/auth/meliefert jetztcsrf_tokenaus der Session (app/services/auth_service.py get_current_user_info)useCurrentUserstellt den Token beim Seiten-Reload wieder her;streamChatnutztgetCsrfToken()aus dem gemeinsamen Client statt des nie geschriebenen sessionStorage-KeysVerifikation (Live-Messung)
test_me_returns_csrf_token_for_reload_restorestreamChat.test.ts: 2/2 passed (X-CSRF-Token-Header bewiesen)index-BCYHvz1a.js: toter Keyleocrm_csrf_token0 Treffer = Fix live