- ApiKeyAuthAttribute hinzugefügt und mit ApiKeyAuthFilter verknüpft.
- Dieses Attribut wird verwendet, um die API-Schlüssel-Überprüfung in Controllern anzuwenden.
- ApiKeyAuthFilter hinzugefügt, um API-Schlüssel aus den Anforderungs-Headern zu validieren.
- Der Filter überprüft das Vorhandensein eines API-Schlüssels und dessen Gültigkeit, bevor die Anforderung autorisiert wird.
- Der Standardname des API-Schlüssel-Headers ist auf "X-API-Key" festgelegt.
- ToClaimDictionary-Erweiterungsmethode hinzugefügt, um die Ansprüche von UserReadDto in ein Wörterbuch zu konvertieren.
- JWT-Service konfiguriert, um Tokens mit Ansprüchen aus UserReadDto zu generieren.
- JWT-Service in die Authentifizierungskonfiguration integriert.
- Überprüfungen hinzugefügt, um sicherzustellen, dass entweder 'UserId' oder 'Username' angegeben ist, jedoch nicht beide.
- Fehlermeldungen verbessert, um eine bessere Klarheit zu gewährleisten.
- Benutzerabfrage-Logik in der Login-Methode refaktoriert, um vorhandene Benutzerdaten nach Möglichkeit zu nutzen.
- Konsistente Protokollierung von Hinweisen und Fehlern für eine bessere Nachverfolgbarkeit sichergestellt.
- `CookieAuthenticationDefaults.AuthenticationScheme` zur Benutzerauthentifizierung integriert.
- Cookie-Einstellungen konfiguriert, um die Sicherheit zu erhöhen:
- `HttpOnly`-Flag gesetzt, um den Zugriff von clientseitigen Skripten zu verhindern.
- `SecurePolicy` so eingestellt, dass Cookies nur über HTTPS-Anfragen gesendet werden.
- `SameSite` auf `Strict` gesetzt, um CSRF-Angriffe zu mindern.
- Benutzerdefinierte Anmelde-(`/api/auth/login`) und Abmeldepfade (`/api/auth/logout`) definiert.
- `GetAsync`-Methode mit zusätzlichen Filteroptionen für Profil-, Benutzer- und Zustandsdetails erweitert.
- Verbesserte Autorisierungsprüfungen mit detaillierter Fehlerprotokollierung bei fehlenden oder ungültigen Benutzer-ID-Ansprüchen.
- Identitätsprüfung in den Create- und Delete-Methoden hinzugefügt, um unbefugten Zugriff zu verhindern.
- Fehlerbehandlung und Antwort verfeinert für robustere serverseitige Verarbeitung.
- Create-, Update- und Delete-Methoden verfeinert, um eine bessere Validierung der Benutzeridentität zu gewährleisten
- Autorisierungsprüfungen für benutzerbezogene Operationen basierend auf Claims hinzugefügt
- Verbesserte Fehlerbehandlung und Protokollierung für detaillierteres Feedback
- Fehlerbehandlungs-Basisklasse entfernt, Übergang zu direkten CRUD-Methoden
- Neue GetAsync-Methode hinzugefügt, um komplexe Filter mit optionalen Parametern zu unterstützen
- Verbesserte Fehlerprotokollierung und Validierung für die Extraktion der Benutzeridentität
- Benutzer-ID in den Service-Schichtenoperationen integriert
- Basismethode GetAll entfernt, um eine bessere Kontrolle über das Datenabrufen zu gewährleisten
- Methoden implementiert, um Benutzer-ID, Benutzernamen, Nachnamen, Vornamen und E-Mail aus den Claims zu extrahieren
- Null-Überprüfungen und Parsing-Logik bereitgestellt, um eine gültige Extraktion sicherzustellen
- Login-Endpunkt mit claims-basierter Identität und Cookie-Authentifizierung hinzugefügt
- Gruppenvalidierungslogik mit Autorisierungsprüfungen integriert
- Fehlerbehandlung und Authentifizierungsfluss mit Logging versehen
- Logout-Funktionalität mit ordnungsgemäßem Cookie-Abmeldungsprozess bereitgestellt