Keycloak говорит, что импортирует пользователей, но они не отображаются

Я настроил keycloak для импорта пользователей с сервера openldap. В качестве тестового прогона я использовал стандартный h2, чтобы посмотреть, смогу ли я его запустить. Он подключается и аутентифицируется правильно. Как только я нажимаю синхронизировать всех пользователей, он сообщает об успехе x импортированных пользователей, 0 измененных пользователей. После перехода в Manage=>Users и нажатия View all Users он показывает только обычного пользователя с адресом электронной почты user@user.com.
Единственная информация, которую я получаю из server.log - это предупреждающее сообщение ниже.

Я не уверен, в каком направлении искать, как это исправить. Есть ли какое-то другое место, где я должен искать сообщение об ошибке или что-то еще, что я должен попробовать?

2018-12-19 15: 56: 31,209 WARN [org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction] (задание по умолчанию-7). Отсутствует элемент кэша для ключа LoginFailureKey [ realmId=namis. userId=14ed02d1-3ac3-4911-a377-80863f2bde70 ]

Обновить:


Я проверил таблицу user_entity после импорта, и пользователи там. Как только я захожу в Управление пользователями, пользователи из области исчезают из базы данных.

Я включил ведение журнала уровня трассировки и обнаружил сообщение об ошибке [org.keycloak.storage.UserStorageManager] (задание по умолчанию 1). Удален недопустимый пользователь "Джон Доу".

Я искал исходный код и нашел функцию importValidation, которая вызывает функцию, которая удаляет пользователя. Похоже, это происходит, когда поставщик хранилища имеет значение null или для пользователя и области вызывается validate, и он возвращает нулевую UserModel.


2 ответа

Решение

Оказывается, у меня был один из картографов неправильно. Преобразователь имени пользователя не был сопоставлен с правильным атрибутом ldap.

У меня также была эта проблема сегодня, и можно полностью удалить отображение имени пользователя, поскольку атрибут имени пользователя уже сопоставлен с атрибутом имени пользователя LDAP в настройках федерации пользователя.

Другие вопросы по тегам