Audit-Log: stiller Token-Refresh entrauscht (eigene Action TOKEN_REFRESH)
POST /auth/refresh wurde als CREATE / "Anmeldung erstellt" / CRITICAL / anonymous geloggt und sah damit wie eine anonyme Login-Flut aus. Es ist aber der regulaere Silent-Refresh des Frontend-Interceptors (Access-Token lebt nur im Speicher -> nach Reload/401 einmaliger Cookie-Refresh). - Neuer AuditAction-Wert TOKEN_REFRESH (Migration 20260818120000, idempotentes MODIFY COLUMN) - determineAction() mappt /auth/refresh -> TOKEN_REFRESH, Label "Sitzung verlaengert (Token erneuert)", Sensitivitaet explizit LOW (statt Default Authentication -> CRITICAL) - LOGIN/LOGOUT/LOGIN_FAILED bleiben unveraendert CRITICAL - Frontend: Filter-Option + dezente Badge-Farbe + Typ-Union - anonymous bewusst beibehalten (Endpoint ohne authenticate-Middleware) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,22 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🔇 Audit-Log: stiller Token-Refresh entrauscht (`TOKEN_REFRESH`)** (2026-08-18)
|
||||
- Automatische `POST /auth/refresh`-Aufrufe (Interceptor bei 401 / nach
|
||||
Seiten-Reload, da Access-Token nur im Speicher) wurden als `CREATE` /
|
||||
„Anmeldung erstellt" / **CRITICAL** / User `anonymous` geloggt → sah aus wie
|
||||
anonyme Login-Flut, war aber die eigene Session.
|
||||
- Neuer `AuditAction`-Wert **`TOKEN_REFRESH`** (Enum-Migration
|
||||
`20260818120000_audit_token_refresh_action`, idempotentes `MODIFY COLUMN`).
|
||||
`determineAction()` erkennt `/auth/refresh` → eigene Action; Label
|
||||
„Sitzung verlängert (Token erneuert)"; Sensitivität in der Middleware
|
||||
explizit auf **LOW** (statt Default `Authentication → CRITICAL`).
|
||||
- Frontend `AuditLogs.tsx`: Filter-Option „Sitzung verlängert" + dezente
|
||||
Badge-Farbe (slate); Typ-Union ergänzt. `anonymous` bleibt (Endpoint läuft
|
||||
ohne `authenticate`-Middleware, authentifiziert per Cookie im Service) –
|
||||
bewusst nicht geändert (Option 1).
|
||||
- Verifiziert: Migration auf Dev-DB aktiv, `tsc` + `vite build` grün.
|
||||
|
||||
- [x] **🔒 Mass-Assignment-Schutz: Nested-Vertragsdetails (Pentest R162-01)** (2026-08-18)
|
||||
- `createContract`/`updateContract` spreadeten `energyDetails`/`tvDetails`/
|
||||
`carInsuranceDetails`/`mobileDetails` (via `...mobileData`) roh an Prisma →
|
||||
|
||||
Reference in New Issue
Block a user