From 506a65f27a4fe58afe711281c72f81935468817c Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 11 Dec 2023 10:10:39 +0700 Subject: [PATCH] refactor: check keycloak init --- .../client/src/services/KeyCloakService.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Services/client/src/services/KeyCloakService.ts b/Services/client/src/services/KeyCloakService.ts index 8c7ce11..dfa2662 100644 --- a/Services/client/src/services/KeyCloakService.ts +++ b/Services/client/src/services/KeyCloakService.ts @@ -2,15 +2,20 @@ import Keycloak from 'keycloak-js' const keycloak = new Keycloak('/keycloak.json') -export async function login(cb?: (...args: any[]) => void) { - const auth = await keycloak - .init({ - onLoad: 'login-required', - responseMode: 'query', - checkLoginIframe: false, - }) - .catch((e) => console.dir(e)) +let init = false +export async function login(cb?: (...args: any[]) => void) { + const auth = !init + ? await keycloak + .init({ + onLoad: 'login-required', + responseMode: 'query', + checkLoginIframe: false, + }) + .catch((e) => console.dir(e)) + : await keycloak.login().catch((e) => console.dir(e)) + + if (auth) init = true if (auth && cb) cb() }