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

通过使用邮递员发布一个仅包含 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 并在那里创建用户?


慕仙森
浏览 140回答 2
2回答

一只甜甜圈

请查看 Keycloak 邮件列表中添加的讨论只是仔细检查了我建议的方法。我以为我们可以将用户导入现有领域,但事实并非如此。你必须创造整个领域。仍然可以这样做,首先创建领域并添加示例用户。停止服务器并再次运行它:&nbsp;bin/standalone.sh&nbsp;-Dkeycloak.migration.action=export&nbsp;-Dkeycloak.migration.provider=dir&nbsp;-Dkeycloak.migration.realmName=<realm&nbsp;name>&nbsp;-Dkeycloak.migration.dir=<dir&nbsp;name>替换领域名称和目录名称在目录名称中,您应该获得一些 json 文件。然后,您可以更新领域 name-users-0.json 以添加要导入的用户。正如比尔指出的那样,管理客户端可能是一个很好的替代方法。我们还有一个 Java 客户端,使用起来更简单。查看 admin-client 示例。所以这个 URL 可以提供帮助。看看这个链接另一种选择是使用 partialImport API 来导入用户(使用管理员用户令牌):access_token=`curl&nbsp;--data&nbsp;"grant_type=password&username=admin&password=admin&client_secret=secret&client_id=admin-cli"&nbsp;http://localhost:8180/auth/realms/master/protocol/openid-connect/token|&nbsp;jq&nbsp;-r&nbsp;.access_token` curl&nbsp;-X&nbsp;POST&nbsp;-H&nbsp;'Accept:&nbsp;application/json'&nbsp;-H&nbsp;'Content-Type:&nbsp;application/json'&nbsp;-H&nbsp;"Authorization:&nbsp;Bearer&nbsp;$access_token"&nbsp;&nbsp;--data&nbsp;"@$PWD/myrealm-users-0.json"&nbsp;&nbsp;http://localhost:8180/auth/admin/realms/myrealm/partialImport

慕勒3428872

在检查Keycloak 的 REST API后,似乎不接受用于创建用户的批量/批量请求。唯一的解决方案是POST为每个用户发送请求。这并不奇怪,HTTP 并没有为这种请求做好准备:由于 HTTP 没有为处理批处理/批量请求和响应提供适当的指导。从这个 RESTful 指南。看看它,它在 REST 开发中非常有用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java