diff --git a/src/lib/tenants/keycloak-initializer.ts b/src/lib/tenants/keycloak-initializer.ts index 6cf0d4c..8430f6d 100644 --- a/src/lib/tenants/keycloak-initializer.ts +++ b/src/lib/tenants/keycloak-initializer.ts @@ -1,11 +1,10 @@ -import { IqserAppConfig } from '../utils'; +import { IqserAppConfig, UI_ROOT } from '../utils'; import { KeycloakOptions, KeycloakService } from 'keycloak-angular'; import { KeycloakStatusService } from './services/keycloak-status.service'; import { inject } from '@angular/core'; import { getConfig } from '../services'; import { NGXLogger } from 'ngx-logger'; import { Router } from '@angular/router'; -import { APP_BASE_HREF } from '@angular/common'; export function getKeycloakOptions(baseUrl: string, config: IqserAppConfig, tenant: string): KeycloakOptions { let oauthUrl = config.OAUTH_URL; @@ -49,10 +48,10 @@ export async function keycloakInitializer(tenant: string) { const router = inject(Router); const keycloakService = inject(KeycloakService); const keycloakStatusService = inject(KeycloakStatusService); - const baseHref = inject(APP_BASE_HREF); + const uiRoot = inject(UI_ROOT); const config = getConfig(); - const keycloakOptions = getKeycloakOptions(baseHref, config, tenant); + const keycloakOptions = getKeycloakOptions(uiRoot, config, tenant); try { await keycloakService.init(keycloakOptions); } catch (error) { diff --git a/src/lib/tenants/tenant-select/tenant-select.component.ts b/src/lib/tenants/tenant-select/tenant-select.component.ts index 5133617..4dddadf 100644 --- a/src/lib/tenants/tenant-select/tenant-select.component.ts +++ b/src/lib/tenants/tenant-select/tenant-select.component.ts @@ -8,7 +8,7 @@ import { getConfig } from '../../services'; import { getKeycloakOptions } from '../keycloak-initializer'; import { IStoredTenantId, TenantsService } from '../services'; import { KeycloakStatusService } from '../services/keycloak-status.service'; -import { APP_BASE_HREF } from '@angular/common'; +import { UI_ROOT } from '../../utils'; @Component({ templateUrl: './tenant-select.component.html', @@ -17,7 +17,6 @@ import { APP_BASE_HREF } from '@angular/common'; }) export class TenantSelectComponent { @Input() isLoggedOut = false; - protected readonly baseHref = inject(APP_BASE_HREF); protected readonly logger = inject(NGXLogger); protected readonly tenantsService = inject(TenantsService); protected storedTenants: IStoredTenantId[] = []; @@ -30,6 +29,7 @@ export class TenantSelectComponent { // eslint-disable-next-line @typescript-eslint/unbound-method tenantId: ['', Validators.required], }); + readonly #uiRoot = inject(UI_ROOT); constructor() { this.#loadStoredTenants(); @@ -48,7 +48,7 @@ export class TenantSelectComponent { async select(tenantId: string) { try { this.logger.info('[KEYCLOAK] Initializing keycloak for tenant', tenantId); - await this.keycloakService.init(getKeycloakOptions(this.baseHref, this.config, tenantId)); + await this.keycloakService.init(getKeycloakOptions(this.#uiRoot, this.config, tenantId)); } catch (e) { this.logger.info('[KEYCLOAK] Init failed. Logout'); return this.keycloakService.logout();