Я использую Keycloak 9.0.3 с федерацией пользователей LDAP, режим редактирования = WRITABLE и Импорт пользователей = вкл. Я занимаюсь разработкой весеннего загрузочного приложения, которое должно вызывать API Keycloak REST для создания, обновления, удаления users и groups в LDAP. Я также создал «group-ldap-mapper» в своей федерации пользователей, чтобы сопоставить LDAP-группы с Keycloak-Groups и наоборот.
Мне нужно создать и удалить Keycloak-groups через REST API, и они привязаться к группам в LDAP, используя маппер выше. Когда мое приложение вызывает POST / {realm} / groups Keycloak просто создает группу в Keycloak-DB и не синхронизируется с LDAP, если группа не назначена какому-либо пользователю. Это на самом деле не большая проблема. Настоящая проблема заключается в том, что мое приложение удаляет группу с помощью DELETE / {realm} / groups / {id} . Группы удаляются из Keycloak-DB, но не из LDAP. Приемлемым обходным решением будет вызов POST / {realm} / user-storage / {parentId} / mappers / {id} / syn c, который синхронизирует группы и выполняет работу.
Проблема в этом обходном пути в том, что нет способа получить идентификатор сопоставителя федерации ({id}), кроме как жестко его кодировать в приложении Spring. Не существует REST-Call для программного получения этого идентификатора.
Есть идеи, как решить эту проблему?