From a147ba5b8d1d0613c5b667275bd5e30f13115eb4 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 16 Aug 2022 12:59:25 +0300 Subject: [PATCH] login url test --- src/lib/error/server-error-interceptor.ts | 6 +++++- src/lib/services/error-message.service.ts | 5 ++++- src/lib/users/iqser-users.module.ts | 5 ++--- src/lib/users/services/iqser-user.service.ts | 7 ++++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lib/error/server-error-interceptor.ts b/src/lib/error/server-error-interceptor.ts index ced978b..b0589f9 100644 --- a/src/lib/error/server-error-interceptor.ts +++ b/src/lib/error/server-error-interceptor.ts @@ -56,7 +56,11 @@ export class ServerErrorInterceptor implements HttpInterceptor { catchError((error: HttpErrorResponse) => { // token expired if (error.status === HttpStatusCode.Unauthorized) { - this._keycloakService.logout(); + const url = this._keycloakService.getKeycloakInstance().createLoginUrl({ + loginHint: 'login', + redirectUri: window.location.href, + }); + window.location.href = url; } // server error diff --git a/src/lib/services/error-message.service.ts b/src/lib/services/error-message.service.ts index e0b2d10..4ad9ff1 100644 --- a/src/lib/services/error-message.service.ts +++ b/src/lib/services/error-message.service.ts @@ -15,6 +15,9 @@ export class ErrorMessageService { } private _parseErrorResponse(err: HttpErrorResponse): string { - return (err?.error?.message?.match('"message":"(.*?)\\"')?.[0].replace(/"message":"|"/gm, '') as string) || (err?.error?.message as string); + return ( + (err?.error?.message?.match('"message":"(.*?)\\"')?.[0].replace(/"message":"|"/gm, '') as string) || + (err?.error?.message as string) + ); } } diff --git a/src/lib/users/iqser-users.module.ts b/src/lib/users/iqser-users.module.ts index 3e27fd3..13a7b21 100644 --- a/src/lib/users/iqser-users.module.ts +++ b/src/lib/users/iqser-users.module.ts @@ -41,11 +41,10 @@ function getKeycloakOptions(baseUrl: string, configService: IqserConfigService): function configureAutomaticRedirectToLoginScreen(keyCloakService: KeycloakService) { keyCloakService.getKeycloakInstance().onAuthRefreshError = () => { - const url = keyCloakService.getKeycloakInstance().createLoginUrl({ - loginHint:'login', + const url = keyCloakService.getKeycloakInstance().createLoginUrl({ + loginHint: 'login', redirectUri: window.location.href, }); - console.log('creating login url',url) window.location.href = url; }; } diff --git a/src/lib/users/services/iqser-user.service.ts b/src/lib/users/services/iqser-user.service.ts index d32e6c3..883865a 100644 --- a/src/lib/users/services/iqser-user.service.ts +++ b/src/lib/users/services/iqser-user.service.ts @@ -51,7 +51,12 @@ export abstract class IqserUserService< async logout() { await this._cacheApiService.wipeCaches(); - await this._keycloakService.logout(window.location.origin + this._baseHref); + await this._keycloakService.logout(); + const url = this._keycloakService.getKeycloakInstance().createLoginUrl({ + loginHint: 'login', + redirectUri: window.location.origin + this._baseHref, + }); + window.location.href = url; } loadAll() {