我能够通过使用邮递员发布仅包含1个用户的json在Keycloak中创建用户。
但是当我尝试通过传递包含1条以上记录的json数组来创建1条以上用户时,出现500内部服务器错误
[
{
"username": "user1",
"firstName": "John",
"attributes": {
"pl_uid": null
},
"credentials": [
{
"temporary": true,
"type": "password",
"value": "ares2012"
}
]
},
{
"username": "1000195",
"firstName": "Matt",
"attributes": {
"pl_uid": null
},
"credentials": [
{
"temporary": true,
"type": "password",
"value": "rx3o0t9f"
}
]
}
]
有什么方法可以将json数组发送到keycloak并在那里创建用户?
答案 0 :(得分:2)
检查Keycloak's REST API后,似乎不接受用于创建用户的批量/批量请求。唯一的解决方案是为每个用户发送POST
请求。
这并不奇怪,HTTP没有为这种请求做好准备:
由于HTTP没有为处理批量/批量请求和响应提供适当的指导。
来自this RESTful guide。看看吧,它在REST开发中非常有用。
答案 1 :(得分:1)
请查看Keycloak邮件列表中添加的讨论
请仔细检查一下我建议的方法。我以为我们做了 可以将用户导入现有领域,但这不是 案件。您必须创建整个领域。仍然可以做到 这样,首先创建领域并添加示例用户。停止 服务器并使用以下命令再次运行它:
bin/standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.realmName=<realm name> -Dkeycloak.migration.dir=<dir name>
- 替换领域名称和目录名称
然后在目录名中,您应该获得几个json文件。那你可以 更新领域名称-users-0.json以添加要导入的用户。
比尔指出,管理员客户端可能是一个不错的选择 方法。我们还有一个Java客户端,使其更易于使用。 看一下admin-client示例。
因此,此URL可以提供帮助。请查看此链接enter link description here