有没有人对如何将大量用户导入 Keycloak 有任何想法。
我们正在从 2.5.5 升级到 4.0.0 并且不得不从 MongoDB 切换到 MySQL。我们已经能够导出我们的用户群,但有 280k+ 用户可以导入回 Keycloak。导入过程需要 25 分钟来导入一个包含 500 个用户的文件,这似乎并不实际,因为如果我们 24/7 全天候工作,这将需要大约 9/10 天来导入用户群。
任何想法或想法将不胜感激。
有没有人对如何将大量用户导入 Keycloak 有任何想法。
我们正在从 2.5.5 升级到 4.0.0 并且不得不从 MongoDB 切换到 MySQL。我们已经能够导出我们的用户群,但有 280k+ 用户可以导入回 Keycloak。导入过程需要 25 分钟来导入一个包含 500 个用户的文件,这似乎并不实际,因为如果我们 24/7 全天候工作,这将需要大约 9/10 天来导入用户群。
任何想法或想法将不胜感激。
我意识到我在这里聚会有点晚了...
Keycloak 8(和更新版本)具有通过 .json 文件批量导入用户的机制:https ://www.keycloak.org/docs/8.0/server_admin/index.html#_export_import
如果您有某种机制可以将现有用户转储到 .json 文件中,它会使导入相当容易。
您可以将 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