为了账号安全,请及时绑定邮箱和手机立即绑定

我们可以通过发送包含超过 2 个用户信息的 json 数组在 Keycloak 中创建用户吗?

我们可以通过发送包含超过 2 个用户信息的 json 数组在 Keycloak 中创建用户吗?

慕仙森 2022-06-04 17:36:27
通过使用邮递员发布一个仅包含 1 个用户的 json,我能够在 Keycloak 中创建用户。http://localhost:8080/auth/admin/realms/master/users但是,当我尝试通过传递超过 1 条记录的 json 数组来创建超过 1 个用户时,我收到 500 Internal server error[  {    "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 并在那里创建用户?
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

请查看 Keycloak 邮件列表中添加的讨论

只是仔细检查了我建议的方法。我以为我们可以将用户导入现有领域,但事实并非如此。你必须创造整个领域。仍然可以这样做,首先创建领域并添加示例用户。停止服务器并再次运行它:

 bin/standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.realmName=<realm name> -Dkeycloak.migration.dir=<dir name>
  • 替换领域名称和目录名称

在目录名称中,您应该获得一些 json 文件。然后,您可以更新领域 name-users-0.json 以添加要导入的用户。

正如比尔指出的那样,管理客户端可能是一个很好的替代方法。我们还有一个 Java 客户端,使用起来更简单。查看 admin-client 示例。

所以这个 URL 可以提供帮助。看看这个链接

另一种选择是使用 partialImport API 来导入用户(使用管理员用户令牌):

access_token=`curl --data "grant_type=password&username=admin&password=admin&client_secret=secret&client_id=admin-cli" http://localhost:8180/auth/realms/master/protocol/openid-connect/token| jq -r .access_token`
curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token"  --data "@$PWD/myrealm-users-0.json"  http://localhost:8180/auth/admin/realms/myrealm/partialImport



查看完整回答
反对 回复 2022-06-04
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

在检查Keycloak 的 REST API后,似乎不接受用于创建用户的批量/批量请求。唯一的解决方案是POST为每个用户发送请求。

这并不奇怪,HTTP 并没有为这种请求做好准备:

由于 HTTP 没有为处理批处理/批量请求和响应提供适当的指导。

这个 RESTful 指南。看看它,它在 REST 开发中非常有用。


查看完整回答
反对 回复 2022-06-04
  • 2 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号