我正在使用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'
}
}
);
}
是否可以在应用程序运行时进行上述初始化?我需要这样做,因为从一开始就不知道领域名称。