Адаптеру keycloak не удалось применить решение политики NoHttpResponseException - PullRequest
0 голосов
/ 04 февраля 2020

Мы используем keycloak в качестве сервера авторизации. У нас есть Jetty в качестве сервера приложений, в котором Keycloak настроен как сервер ресурсов аутентификации (с использованием адаптера Keycloak).
У нас есть java клиентские настольные приложения, которые подключаются к Jetty для вызовов REST. Каждый раз, когда клиентское приложение запускается, оно запрашивает логин (используя плагин KeycloakInstalled Java). Он получает токен и передает его в каждом последующем запросе Jetty. Весь этот поток работает без проблем.

Теперь, когда я проверяю http в журналах Jetty, я вижу один вызов на сервер K C для каждого входящего вызова в Jetty. Этот вызов /auth/realms/{realm_name}/protocol/openid-connect/token
Когда я увеличиваю нагрузку на сервер Jetty, выше K C начинается сбой вызова с ошибкой ниже:

org.apache.http.NoHttpResponseException: <jetty_url> failed to respond
java.lang.RuntimeException: Failed to enforce policy decisions.

Из-за этого каждый вызов перестает отвечать, и система отключается ,

Теперь у меня есть несколько вопросов:
1) Почему адаптер K C запускает вызов выше K C при каждом запросе? Есть ли настройка, при которой адаптер K C может кешировать результат в течение некоторого времени.
2) Я полагаю, что выше исключение - некоторая проблема в httpclient, которую адаптер K C использует для внутреннего использования. Есть ли что-то, что мы можем изменить здесь?
3) Всякий раз, когда я запускаю вызов rest из браузера (который внутренне перенаправляет на K C и запрашивает логин), вышеупомянутый вызов K C / token никогда не происходит. Разница между клиентом рабочего стола и запросом браузера заключается в том, что браузер устанавливает cook ie, который имеет JSESSIONID и session_state. Должен ли наш настольный клиент также использовать JSESSIONID вместо токена? какой правильный путь? Если да, то как получить JSESSIONID. Я мог бы получить session_state из токена.

Пожалуйста, помогите.

...