Получение всех пользователей из Keycloak возвращает каждый раз непостоянное количество пользователей.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение всех пользователей из Keycloak возвращает каждый раз непостоянное количество пользователей.

Сообщение Anonymous »


Мы пытаемся создать систему управления пользователями, чтобы иметь возможность пакетного редактирования пользователей Keycloak.

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

Например: у нас есть тестовая среда с 30 000 пользователей, и Keycloak всегда возвращает непостоянное случайное число пользователей, близкое к 15 000.

Наш бэкэнд взаимодействует с Keycloak через специальную учетную запись службы. Его ресурс области создается один раз с использованием следующей конфигурации:

keycloakServiceRealm = KeycloakBuilder.builder() .serverUrl(keycloakServerUrl) .grantType(OAuth2Constants.CLIENT_CREDENTIALS) .realm(keycloakRealm) .clientId(keycloakServiceClient) .username(keycloakServiceUsername) .clientSecret(keycloakServiceSecret) .resteasyClient( новый ResteasyClientBuilderImpl().connectionPoolSize(10).build()) .строить() .realm(keycloakRealm); Пример кода, который извлекает пользователей из Keycloak, следующий:

keycloakService.getKeycloakServiceRealm().users() .searchByAttributes(0, максимум, ноль, ложь, фильтр); и:

keycloakService.getKeycloakServiceRealm().users().list(0, max); Где max — общее количество пользователей, возвращаемое:

keycloakService.getKeycloakServiceRealm().users().count(); В настоящее время мы используем Keycloak 21.1.1, работающий на Docker. Наш бэкэнд взаимодействует с Keycloak с помощью keycloak-admin-client 21.1.1.

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

P.S.: допустимым обходным решением может быть получение пользователей в пакетном режиме (например: 1000 на запрос в цикле), но мы хотели бы избежать выполнения дополнительных запросов к Keycloak, если существует другое допустимое решение.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»