import Keycloak from 'keycloak-js' let keycloak: Keycloak | null = null export const initKeycloak = async (): Promise => { keycloak = new Keycloak({ url: 'https://terminus.bluelake.cloud/', realm: 'dalex-immo-dev', clientId: 'dalex-proto' }) try { const authenticated = await keycloak.init({ onLoad: 'login-required', checkLoginIframe: false }) if (!authenticated) { window.location.reload() } // Token refresh setInterval(() => { keycloak?.updateToken(70).catch(() => { console.error('Failed to refresh token') keycloak?.login() }) }, 60000) return keycloak } catch (error) { console.error('Failed to initialize Keycloak', error) throw error } } export const getKeycloak = (): Keycloak | null => { return keycloak } export const getToken = (): string | undefined => { return keycloak?.token } export const logout = (): void => { keycloak?.logout() }