MWB-144 Sehr einfaches Login
Die Authentifizierung gegenüber dem Backend erfolgt mittels JWT.
Der Login soll delegiert über die Landingpage möglich sein. Dazu soll im ausgeloggten Zustand eine Login-Schaltfläche angezeigt werden. Ist der Nutzer bereits eingeloggt, soll die Möglichkeit gegeben werden, den aktuellen JWT zu "vergessen" und die Seite anschließend neuzuladen (soetwas wie ein Logout).
Der Login wird dabei an Keycloak delegiert, d.h. es wird das dortige Loginformular verwendet. Nach dem Login wird per https://auth0.com/docs/flows/authorization-code-flow-with-proof-key-for-code-exchange-pkce durchgeführt. Sämtliche Meldungen "Ungültiges Passwort", "Passwort vergessen" werden dabei von Keycloak generiert und müssen nicht in diesem Ticket behandelt werden.
Jira-Link
Akzeptanzkriterien
-
Klick auf 'Login' leitet an Keycloak weiter (nur sichtbar, wenn kein aktueller JWT vorhanden ist) -
Authoriztazion code flow mit PKCE wird verwendet -
Tokens (JWT, Refresh-Token) werden verarbeitet -
'Logout' Schaltfläche ist nur vorhanden, wenn ein JWT vorhanden ist -
Klick auf 'Logout' 'vergisst' JWT und Refreshtoken -
Fehlerbehandlung (wenn Keycloak mit einer Fehlerinformation zurückverweist) -
Unittests
Review
-
Klick auf 'Login' leitet an Keycloak weiter (nur sichtbar, wenn kein aktueller JWT vorhanden ist) -
Authoriztazion code flow mit PKCE wird verwendet -
Tokens (JWT, Refresh-Token) werden verarbeitet -
'Logout' Schaltfläche ist nur vorhanden, wenn ein JWT vorhanden ist -
Klick auf 'Logout' 'vergisst' JWT und Refreshtoken -
Fehlerbehandlung (wenn Keycloak mit einer Fehlerinformation zurückverweist) -
Unittests