Keycloak加载用户

时间:2018-11-22 15:43:01

标签: java keycloak keycloak-services

我需要从Keycloak加载所有用户,然后通过keycloak-admin-client将它们插入(缓存)到我的系统中。在查询少量用户的同时,查询速度很快,但速度却成倍增长。加载500位用户需要8秒,但是加载3000位用户最多需要4分钟,我需要加载13k +。似乎search(search,first,max)和list(first,max)方法的行为相同。

{{1}}

我认为按块(list(0,1000)然后(list(1001,2000)))进行加载将解决此问题,但加载0,2000的时间与1001,2000完全相同。就像Keycloak从一开始就查询所有用户,然后执行子字符串。

问题是:如何将所有用户从Keycloak的批量(块,迭代)加载到另一个系统?我想避免直接接触Keycloak DB。

谢谢

1 个答案:

答案 0 :(得分:0)

我刚刚意识到参数是first和max,所以要遍历用户,我只需要增加第一个数字,而让第二个数字保持不变。因此,请求看起来像这样,只将参数 first 循环增加了100

http://localhost:8180/auth/admin/realms/demorealm/users/?first=5500&max=100
相关问题