diff --git a/src/lib/users/services/iqser-user.service.ts b/src/lib/users/services/iqser-user.service.ts index 0e9571d..5eca5e0 100644 --- a/src/lib/users/services/iqser-user.service.ts +++ b/src/lib/users/services/iqser-user.service.ts @@ -59,7 +59,16 @@ export abstract class IqserUserService< async logout() { await this._cacheApiService.wipeCaches(); - await this._keycloakService.logout(); + if(await this._keycloakService.isLoggedIn()) { + await this._keycloakService.logout(); + } + window.location.href = this._keycloakService.getKeycloakInstance().createLoginUrl({ + redirectUri: window.location.origin + this._baseHref, + }); + } + + async redirectToLogin(){ + await this._cacheApiService.wipeCaches(); window.location.href = this._keycloakService.getKeycloakInstance().createLoginUrl({ redirectUri: window.location.origin + this._baseHref, }); @@ -80,8 +89,8 @@ export abstract class IqserUserService< throw new Error('No user id'); } } catch (e) { - console.log(e); - await this.logout(); + console.log("Load KC profile failed"); + await this.redirectToLogin(); return; }