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

  1. Beim Zugriff auf eine geschützte Route wird der AuthGuard aktiviert.

  2. Der AuthGuard prüft über den Keycloak-Service, ob der Benutzer eingeloggt ist.

  3. Falls ja, wird der Zugriff erlaubt.

  4. 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.