keycloak-угловой: isLoggedIn() всегда ложь после перезагрузки страницы

#angular #keycloak #keycloak-angular

Вопрос:

Я пытаюсь защитить приложение Spring Boot с помощью Angular в качестве интерфейса. Поэтому я использую keycloak-angular и keycloak-js.

В каждом примере, который вы можете найти, всегда предполагается, что все маршруты должны быть защищены. Теперь у меня есть несколько маршрутов, которые находятся в открытом доступе:

 {  path: 'dashboard',  component: DashboardComponent,  resolve: {  data: LayoutResolver  } }, {  path: 'add-news',  component: AddNewsComponent,  canActivate: [AdminAuthGuard] },  

Мой ИНИЦИАЛИЗАТОР APP_INITIALIZER выглядит так:

 function initializeKeycloak(keycloak: KeycloakService) {  return () =gt;  keycloak.init({  config: {  url: environment.keycloakUrl,  realm: environment.keycloakRealm,  clientId: environment.keycloakClientId,   },  initOptions: {  onLoad: 'check-sso',  silentCheckSsoRedirectUri:  window.location.origin   '/assets/silent-check-sso.html',  }  }); }  

Все работает нормально. Однако, когда я нахожусь на панели мониторинга и перезагружаю страницу, я, кажется, теряю аутентификацию. keycloakService.isLoggedIn всегда возвращает «false». Что я делаю не так? Я ожидаю, что в этом случае я все равно войду в систему.

Ответ №1:

Я переустановил сервер блокировки ключей, и все заработало. Должно быть, я нарушил его, переименовывая область и клиента.