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:
@@ -20,6 +20,7 @@ const ACTION_OPTIONS = [
|
||||
{ value: 'LOGIN', label: 'Login' },
|
||||
{ value: 'LOGOUT', label: 'Logout' },
|
||||
{ value: 'LOGIN_FAILED', label: 'Login fehlgeschlagen' },
|
||||
{ value: 'TOKEN_REFRESH', label: 'Sitzung verlängert' },
|
||||
];
|
||||
|
||||
const SENSITIVITY_OPTIONS = [
|
||||
@@ -68,6 +69,7 @@ function getActionColor(action: AuditAction): string {
|
||||
case 'LOGIN': return 'bg-teal-100 text-teal-800';
|
||||
case 'LOGOUT': return 'bg-gray-100 text-gray-800';
|
||||
case 'LOGIN_FAILED': return 'bg-red-200 text-red-900';
|
||||
case 'TOKEN_REFRESH': return 'bg-slate-50 text-slate-500';
|
||||
default: return 'bg-gray-100 text-gray-800';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -877,7 +877,7 @@ export interface CockpitResult {
|
||||
|
||||
// ==================== AUDIT-LOGGING & DSGVO ====================
|
||||
|
||||
export type AuditAction = 'CREATE' | 'READ' | 'UPDATE' | 'DELETE' | 'EXPORT' | 'ANONYMIZE' | 'LOGIN' | 'LOGOUT' | 'LOGIN_FAILED';
|
||||
export type AuditAction = 'CREATE' | 'READ' | 'UPDATE' | 'DELETE' | 'EXPORT' | 'ANONYMIZE' | 'LOGIN' | 'LOGOUT' | 'LOGIN_FAILED' | 'TOKEN_REFRESH';
|
||||
export type AuditSensitivity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
|
||||
export type ConsentType = 'DATA_PROCESSING' | 'MARKETING_EMAIL' | 'MARKETING_PHONE' | 'DATA_SHARING_PARTNER';
|
||||
export type ConsentStatus = 'GRANTED' | 'WITHDRAWN' | 'PENDING';
|
||||
|
||||
Reference in New Issue
Block a user