После успешной интеграции ключа с угловым токен получен и данные профиля возвращены.Однако «некоторые» функции JavaScript не работают.В консоли нет ошибок, и информация о сети, кажется, в порядке.Если я предполагаю удалить информацию о провайдере из AppModule, страница загружается нормально, но после вызова keycloak функция переключения на странице не работает или загрузчик загружается бесконечно.Если я закомментирую загрузчик, страница появляется, но такие функции, как переключение меню, не работают.Я не уверен, сталкивался ли кто-нибудь с этой проблемой при интеграции keycloak с angular, и может помочь мне решить эту проблему.
AppModule
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
KeycloakAngularModule
],
providers: [
{
provide: APP_INITIALIZER,
useFactory: initializer,
multi: true,
deps: [KeycloakService]
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
Функция инициализатора
export function initializer(keycloak: KeycloakService): () => Promise<any> {
return () =>
keycloak.init({
config: environment.keycloak,
initOptions: {
onLoad: 'login-required',
checkLoginIframe: false
}
}).catch((e) => {
console.log("Error thrown in init "+e)
});
HTML - я изменил href для app-side-mini-toggler
на routerLink.Если бы не щелчок, он просто перенаправил бы на localhost: 4200 / #, вместо переключения
<div class="col-xl-5 col-lg-5 col-md-5 col-sm-3 col-4">
<a class="mini-nav-btn" routerLink="#" id="app-side-mini-toggler">
<i class="icon-menu5"></i>
</a>
<a href="#app-side" data-toggle="onoffcanvas" class="onoffcanvas-toggler" aria-expanded="true">
<i class="icon-chevron-thin-left"></i>
</a>
</div>
С загрузчиком, страница загружается бесконечно
Без страницы загрузчиказагружается с информацией о пользователе, но переключение меню не работает