AuthGuard mit Keycloak - jastit00/IT-Sec-Projekt GitHub Wiki
Modul: AuthGuard mit Keycloak
Autor: Marcel Nicklaß
Einführung
Motivation
Das Modul ermöglicht die Absicherung von Routen über einen AuthGuard, der die Benutzeranmeldung über Keycloak sicherstellt. Nur authentifizierte Benutzer dürfen auf geschützte Bereiche des Web-Dashboards zugreifen. Keycloak übernimmt dabei die Authentifizierung, der AuthGuard kontrolliert den Zugriff auf Basis des Anmeldestatus. Frontend User Story #3 wurde umgesetzt.
Terminologie
AuthGuard: Mechanismus in Angular zur Absicherung von Routen gegen unautorisierte Zugriffe.
Technische Beschreibung
-
Beim Zugriff auf eine geschützte Route wird der AuthGuard aktiviert.
-
Der AuthGuard prüft über den Keycloak-Service, ob der Benutzer eingeloggt ist.
-
Falls ja, wird der Zugriff erlaubt.
-
Falls nein, wird der Benutzer zur Login-Seite umgeleitet oder es erfolgt eine Fehlermeldung.
Einfluss auf das Gesamtsystem:
-
Zentrale Kontrolle: Alle gesicherten Routen nutzen dieselbe Logik zur Authentifizierung.
-
Sicherheit: Nur Benutzer mit gültiger Keycloak-Session erhalten Zugriff.
-
Skalierbarkeit: Weitere Routen können leicht über den gleichen Guard abgesichert werden.
Risiken
-
Fehlerhafte AuthGuard-Implementierung: Unsachgemäße Prüfungen könnten dazu führen, dass unautorisierte Benutzer Zugriff erhalten.
-
Session-Timeouts: Ungültige oder abgelaufene Sessions könnten zu plötzlichen Abmeldungen führen, wenn die Token-Erneuerung nicht richtig konfiguriert ist.
-
Wartungsaufwand: Änderungen an der Authentifizierungslogik (z.B. neue Rollen, neue Bedingungen) müssen sorgfältig im AuthGuard aktualisiert werden.