Angular 6 + keycloak 4, библиотеки Javascript не загружаются - PullRequest
0 голосов
/ 08 октября 2018

После успешной интеграции ключа с угловым токен получен и данные профиля возвращены.Однако «некоторые» функции 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>

С загрузчиком, страница загружается бесконечно

Без страницы загрузчиказагружается с информацией о пользователе, но переключение меню не работает

1 Ответ

0 голосов
/ 08 октября 2018

Возможно, Keycloak перезаписывает некоторые функции Javascript, имеет определенные зависимости или работает только в определенной версии Angular.

Возможно, эта библиотека может быть вам полезна: https://github.com/mauriciovigolo/keycloak-angular

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...