2016-12-30 15 views
2

Моя текущая настройка заключается в следующем:Перенаправление с параметрами URL РСИН из Keycloak дает Bad Request

  • Windows Server работает под управлением Active Directory.
  • Сервер Keycloak работает на WildFly.
  • Приложение для тестирования Java с ограниченным доступом, установленное на WildFly.

Поток авторизации заключается в том, что пользователь из AD запрашивает доступ к приложению, пользователю предоставляется билет Kerberos и пытается получить доступ к тому же приложению с этим конкретным билетом.

Вся конфигурация с Kerberos, Keycloak и AD завершена, а соглашения между сервером и клиентом работают плавно, , но последний запрос «GET», где пользователю был предоставлен доступ, это означает создание запросить URL-адрес перенаправления Keycloak, содержащий параметры OpenID-Connect (state = и code =), возвращает «плохой запрос».

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

[EDIT] Если я запустил запрос на ограниченную страницу в Fiddler, он дает мне «No State Cookie», НО, когда я использую какой-либо браузер, он говорит «Запрещено», и мой журнал говорит, что ERROR [org.keycloak.adapters.OAuthRequestAuthenticator] (задание по умолчанию-9) не удалось проверить токен: Недействительный маркер-маркер. Ожидаемое http://KEYCLOAK:9090/auth/realms/kerberos-realms/ «но ожидается» http://keycloak:8080/auth/realms/kerberos-realm "

+0

Я не был знаком с K eycloak, поэтому я просто быстро просмотрел его. После прочтения этого утверждения я утверждаю, что AD уже предоставляет встроенное масштабируемое, простое в управлении решение SSO на базе Kerberos. Зачем дурачить также с Keycloak, который будет дублировать это? –

+0

Извините, но это деловое требование, на которое я не влияю. За исключением кричать всевозможные плохие и отрицательные слова, в отчаянной надежде получить его. – Morten

+1

@ T-Heron Keycloak реализует протокол OpenID Connect. За кулисами он полагается на поставщиков удостоверений, которые могут быть AD, и его можно настроить на использование Kerberos. OpenID Connect и Kerberos очень разные и предназначены для удовлетворения различных вариантов использования. –

ответ

2

я на самом деле найти решение для этого:

  • Я пытался изменить клиента Скрипач с браузером, и я получил эту проблему, где он сказал мне, что эмитенте токена не была такой ожидаемой, и я обнаружил, что в моем standalone.xml конечная точка аутентификации была записана в верхнем регистре, и она ожидала, что она будет ниже. Что касается «Нет состояния cookie», я полагаю, что браузер обрабатывает запрос такого рода, немного отличный от Fiddler.