Я использую пакет keycloak-angular, и в инструкциях по настройке инициализация службы происходит во время инициализации приложения.
import { NgModule, APP_INITIALIZER } from '@angular/core';
import { KeycloakService, KeycloakAngularModule } from 'keycloak-angular';
import { initializer } from './utils/app-init';
@NgModule({
imports: [KeycloakAngularModule],
providers: [
{
provide: APP_INITIALIZER,
useFactory: initializer,
multi: true,
deps: [KeycloakService]
}
]
})
export class AppModule {}
Теперь функция инициализатора похожа на эту:
import { KeycloakService } from 'keycloak-angular';
export function initializer(keycloak: KeycloakService): () => Promise<any> {
return (): Promise<any> => keycloak.init(
{
config: {
url: "some-authentication-url",
realm: "some-realm",
clientId: 'some-app'
}
}
);
}
Возможно ли выполнить вышеуказанную инициализацию во время выполнения моего приложения?Мне нужно сделать это, потому что имя области неизвестно с самого начала.