From: Tiago Melo Date: Fri, 22 May 2020 10:58:39 +0000 (+0000) Subject: mgr/dashboard: Fix redirect after changing password X-Git-Tag: v16.1.0~2249^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F35196%2Fhead;p=ceph.git mgr/dashboard: Fix redirect after changing password After the changes made to subscriptions, redirecting to the dummy logout page no longer does anything. So we removed the logout route and now redirect directly to the login page. Fixes: https://tracker.ceph.com/issues/45651 Signed-off-by: Tiago Melo --- diff --git a/src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts b/src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts index 3e98b5268b43..e4ef9753c7ee 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts @@ -300,8 +300,7 @@ const routes: Routes = [ path: 'login-change-password', component: LoginPasswordFormComponent, canActivate: [NoSsoGuardService] - }, - { path: 'logout', children: [] } + } ] }, { diff --git a/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.spec.ts index a53f4451cb3b..44e9201381b5 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.spec.ts @@ -79,6 +79,6 @@ describe('UserPasswordFormComponent', () => { }); request.flush({}); expect(component.onPasswordChange).toHaveBeenCalled(); - expect(router.navigate).toHaveBeenCalledWith(['/logout']); + expect(router.navigate).toHaveBeenCalledWith(['/login']); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.ts index e77d9d86bf6f..cf08a134fb33 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-password-form/user-password-form.component.ts @@ -116,10 +116,6 @@ export class UserPasswordFormComponent { */ onPasswordChange() { this.notificationService.show(NotificationType.success, this.i18n('Updated user password"')); - // Theoretically it is not necessary to navigate to '/logout' because - // the auth token gets invalid after changing the password in the - // backend, thus the user would be automatically logged out after the - // next periodically API request is executed. - this.router.navigate(['/logout']); + this.router.navigate(['/login']); } } diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.spec.ts index b88e8d853206..986907d53dcb 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.spec.ts @@ -11,7 +11,7 @@ describe('AuthService', () => { let service: AuthService; let httpTesting: HttpTestingController; - const routes: Routes = [{ path: 'logout', children: [] }]; + const routes: Routes = [{ path: 'login', children: [] }]; configureTestBed({ providers: [AuthService, AuthStorageService], diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.ts index c6229377f906..c8ac216f78b9 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/api/auth.service.ts @@ -41,7 +41,7 @@ export class AuthService { logout(callback: Function = null) { return this.http.post('api/auth/logout', null).subscribe((resp: any) => { - this.router.navigate(['/logout'], { skipLocationChange: true }); + this.router.navigate(['/login'], { skipLocationChange: true }); this.authStorageService.remove(); if (callback) { callback();