Как передать токен Kerberos из моего браузера в Keycloak через Jboss - PullRequest
0 голосов
/ 26 января 2019

У меня есть многоуровневое приложение, в котором мой браузер подключается к серверу MainApp, а сервер MainApp перенаправляет аутентификацию (и другие службы) на мой сервер BackOffice. Все это Jboss, и BackOffice содержит экземпляр RH-SSO / Keycloak. Из-за сетевых ограничений браузер не может напрямую общаться с BackOffice, только с MainApp.

У меня настроен Keycloak для поддержки Kerberos с LDAP в качестве провайдера. Я проверил, что keyTab и т. Д. Работает с другим приложением (не через браузер). Таблица ключей поддерживает только шифрование AES256-SHA1.

До сих пор я подходил к согласованию между MainApp и браузером, пока у меня не появится токен Kerberos V5. Затем я читаю токен от:

((NegTokenTarg)responseMessage).getResponseToken()

MainApp затем отправляет запрос аутентификации Keycloak на BackOffice, используя рабочий процесс direct_grant.

Однако Keycloak не может расшифровать сообщение, потому что оно 128-битное:

GSSException: Failure unspecified at GSS-API level (Mechanism level: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES128 CTS mode with HMAC SHA1-96)

Я также попытался создать keyTab с помощью -crypto ALL Но затем я получил другую ошибку:

GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)

Я не уверен, что еще мне нужно сделать с токеном в MainApp, чтобы BackOffice / auth мог его аутентифицировать.

...