通过使用postman发布一个只包含1个用户的json,我可以在keydove中创建用户。
http://localhost:8080/auth/admin/realms/master/users
但是当我试图通过传递一个包含多个记录的json数组来创建多个用户时,我得到了一个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数组到keydepot并在那里创建用户?
2条答案
按热度按时间anauzrmj1#
在检查完keydepot的restapi后,似乎不接受创建用户的批量/批处理请求。唯一的解决办法就是
POST
对每个用户的请求。这并不奇怪,http并没有为这种请求做好准备:
因为http没有为处理批处理/批量请求和响应提供适当的指导。
从这个宁静的向导。看看吧,它在其他开发中真的很有用。
n7taea2i2#
请看一下keydepot邮件列表中添加的讨论
只是仔细检查了我建议的方法。我以为我们已经可以将用户导入到现有的领域,但事实并非如此。你必须创造整个 Realm 。仍然可以这样做,首先创建领域并添加一个示例用户。停止服务器并再次运行:
替换领域名和目录名
在dir name中,您应该得到一些json文件。然后可以更新realm name-users-0.json以添加要导入的用户。
正如bill指出的那样,管理客户机可能是一种很好的替代方法。我们还有一个java客户机,使它更易于使用。看一下管理客户机示例。
所以这个网址可以帮助你看看这个链接,在这里输入链接说明
另一个选项是使用partialimport api导入用户(使用admin用户令牌):