Keycloak загружает пользователей - PullRequest
0 голосов
/ 22 ноября 2018

Мне нужно загрузить всех пользователей из Keycloak и вставить (кешировать) их в мою систему через keycloak-admin-client.Хотя запросы к небольшому количеству пользователей выполняются довольно быстро, скорость растет в геометрической прогрессии.Загрузка 500 пользователей занимает 8 секунд, но 3000 пользователей занимает до 4 минут, и мне нужно загрузить 13k +.Похоже, что методы search (search, first, max) и list (first, max) ведут себя одинаково.

 kc.realm(realmName).users().list(0, count)

Я думал, что загрузка выполняется чанками (list (0,1000) затем (list)(1001,2000))) решит проблему, но для загрузки 0,2000, а не 1001,2000 потребуется ровно столько же времени, что кажется, будто Keycloak запрашивает всех пользователей с начала, а затем выполняет подстроку.

Вопрос в том, как выполнить массовую (многократную, многократную) загрузку всех пользователей из Keycloak в другую систему?Я бы хотел не трогать Keycloak DB напрямую.

Спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Я только что понял, что параметры являются первыми и максимальными, поэтому, чтобы перебрать пользователей, мне нужно увеличить только первое число и оставить второе неизменным.Таким образом, запрос выглядел бы так с циклическим параметром first , увеличив его на 100

http://localhost:8180/auth/admin/realms/demorealm/users/?first=5500&max=100
...