Мы только что обновили наш сервер Keycloak с версии 3 до версии 6.0.1. У нас есть специальный сценарий, который мы используем вместе с клиентской панелью администратора Keycloak для тестирования возможности подключения к пользовательскому хранилищу LDAP.
Однако кажется, что метод testLDAPConnection
больше не работает в версии 6.0.1, поскольку он возвращает HTTP 405 Method not allowed.
Похоже, что метод testLDAPConnection
был изменен и не принимает запрос GET, а только запрос POST. В документации CLI администратора говорится, что testLDAPConnection
метод все еще можно использовать по-старому:
$ kcadm.sh get testLDAPConnection -q action=testConnection -q bindCredential=secret -q bindDn=uid=admin,ou=system -q connectionUrl=ldap://localhost:10389 -q useTruststoreSpi=ldapsOnly
Это не удастся с HTTP 405.
Я пробовал использовать глагол create следующим образом:
$ kcadm.sh create testLDAPConnection -s action=testConnection -s bindCredential=secret -s bindDn=uid=admin,ou=system -s connectionUrl=ldap://localhost:10389 -s useTruststoreSpi=ldapsOnly
Я ожидал, что это действие вернет код HTTP 204, но вместо этого оно приводит к сообщению об ошибке: «Ошибка теста LDAP», причина «KC-SERVICES0054: Unknown action: null» .
Кажется, что метод доступен, но параметры не отправляются должным образом. В исходном коде я заметил, что только метод testLDAPConnection
имеет типы параметров FormParam, поэтому я предполагаю, что клиентский интерфейс администратора не знает, как их установить.
Я искал эту проблему в журнале регистрации проблем с Keycloak, но ничего не нашел.
У кого-нибудь была эта проблема или есть идеи, как ее исправить?