Keycloak аутентификация для клиента и сохранение открытого сеанса - PullRequest
0 голосов
/ 21 ноября 2018

Я изо всех сил пытался заставить POC работать с использованием keycloak для SSO.

В самом простом случае у нас есть веб-интерфейс реагирования на nginx, который общается с бэкэндом на основе resteasy на wildfly и ищетиспользовать keycloak для предоставления SSO-аутентификации бэкэнду после его использования для входа в веб-интерфейс, с другими бэкэнд-сервисами, которые будут добавлены позже.

Пример "cors" в репозитории keycloak github repo кажется наиболее близким примеромк тому, чего мы хотим достичь, и был основой для моих экспериментов до сих пор.Таким образом, одна область с двумя клиентами настроена на фронт и бэкэнды на разных IP-адресах.Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда запрос ajax попадает в бэкэнд, он начинает новый сеанс, даже если в каждом запросе присутствует cookie JSESSIONID, но нам нужно поддерживать сеанс в действии и использовать его повторно.

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

Любые идеи о том, что мне может не хватать, как преобразовать пример cors для работы с серверной частью на основе сеанса или любые другие примеры, которые более точно соответствуют требованиям.

1 Ответ

0 голосов
/ 21 ноября 2018

Думаю, все заработало.Я добавил httpProvider.defaults.withCredentials = true;и это, кажется, работает сейчас.

module.config(function($httpProvider) {
  $httpProvider.defaults.withCredentials = true;
  $httpProvider.responseInterceptors.push('errorInterceptor');
  $httpProvider.interceptors.push('authInterceptor');
});

Я уже упоминал, как сильно я ненавижу браузеры.,,

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