1

有没有人对如何将大量用户导入 Keycloak 有任何想法。

我们正在从 2.5.5 升级到 4.0.0 并且不得不从 MongoDB 切换到 MySQL。我们已经能够导出我们的用户群,但有 280k+ 用户可以导入回 Keycloak。导入过程需要 25 分钟来导入一个包含 500 个用户的文件,这似乎并不实际,因为如果我们 24/7 全天候工作,这将需要大约 9/10 天来导入用户群。

任何想法或想法将不胜感激。

4

2 回答 2

1

我意识到我在这里聚会有点晚了...

Keycloak 8(和更新版本)具有通过 .json 文件批量导入用户的机制:https ://www.keycloak.org/docs/8.0/server_admin/index.html#_export_import

如果您有某种机制可以将现有用户转储到 .json 文件中,它会使导入相当容易。

于 2020-02-19T22:46:59.850 回答
0

您可以将 Keycloak REST API 与partialImport一起使用

首先,您需要获取一个 access_token,您可以使用您的管理员用户或分配了角色manage-realm的客户端

access_token=`curl http://localhost:8080/auth/realms/my-realm/protocol/openid-connect/token -XPOST -d 'grant_type=client_credentials' -u 'admin-client:admin-secret' | jq -r .access_token`

然后您可以导入一组用户

curl -X POST -H "Authorization: Bearer $access_token"  -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"users":[{"username":"jose.perez","email":"jose.perez@gmail.com","firstName":"Jose","lastName":"Perez","emailVerified":true,"enabled":true,"ifResourceExists":"SKIP"}' http://localhost:8080/auth/admin/realms/my-realm/partialImport

于 2022-02-04T18:13:30.990 回答