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() {