From 145d139e3a61cb4b80e431536e80a76cf76806e9 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Thu, 29 Aug 2024 15:46:20 +0200 Subject: [PATCH] fix(auth): Aktualisierung der Authentifizierungsstatusbehandlung - Methode `logInOut` aktualisiert, um nach dem Logout zu `/login` zu navigieren. - Methoden `login` und `logout` angepasst, um `#IsAuthenticated` basierend auf der Antwort zu aktualisieren. - Sicherstellung, dass der Authentifizierungsstatus nach Login und Logout korrekt gesetzt wird. --- .../src/app/components/navbar/navbar.component.ts | 2 +- .../src/app/services/auth.service.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/navbar/navbar.component.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/navbar/navbar.component.ts index 5c19ac41..7080baf6 100644 --- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/navbar/navbar.component.ts +++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/navbar/navbar.component.ts @@ -25,7 +25,7 @@ export class NavbarComponent { async logInOut(): Promise { if (this.isLogedIn()) return this.authService.logoutAsync().then(() => { - this.router.navigate(['/']); + this.router.navigate(['/login']); }) else this.router.navigate(['/login']); diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/auth.service.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/auth.service.ts index 893b1edc..de68af4b 100644 --- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/auth.service.ts +++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/auth.service.ts @@ -15,11 +15,21 @@ export class AuthService { } login(credentials: { username: string; password: string }): Observable { - return this.http.post(`${this.url}/login`, credentials); + return this.http.post(`${this.url}/login`, credentials).pipe( + tap({ + next: res => this.#IsAuthenticated = true, + error: () => this.#IsAuthenticated = false + }) + ) } logout(): Observable { - return this.http.post(`${this.url}/logout`, {}); + return this.http.post(`${this.url}/logout`, {}).pipe( + tap({ + next: res => this.#IsAuthenticated = false, + error: () => this.#IsAuthenticated = true + }) + ); } async logoutAsync(): Promise {