Keycloak:在某个名称为ExpRealm的真实中创建用户

Keycloak: Create User in a certain real which name is ExpRealm

我是 Keycloak 的新手,所以我的问题可能有点假。所以问题是,我可以通过 API 在领域(即:ExpRealm)中创建用户吗?如果是,如何?

我试过了,然后...

curl --data "client_id"="admin-cli" --data "username"="admin" --data "password"="admin" --data "grant_type"="password" --request POST http://localhost:8080/auth/realms/master/protocol/openid-connect/token

curl --header "Authorization: Bearer token" --request POST --data "username"="someone" http://localhost:8080/auth/admin/ExpRealm/users -vv

我明白了:

Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)

> POST /auth/admin/EDL/users HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.54.0
> Accept: */*
> Authorization: Bearer token
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 15 out of 15 bytes
< HTTP/1.1 404 Not Found
< Connection: keep-alive
< Content-Length: 0
< Date: Fri, 03 May 2019 07:49:28 GMT
<
* Connection #0 to host localhost left intact

是的,您可以使用 keycloak admin REST API 创建用户。 这是它的规格 - https://www.keycloak.org/docs-api/5.0/rest-api/index.html#_users_resource

所以在你的情况下,端点将变成这样 - POST/auth/admin/ExpRealm/users

Body 应该是用户 json

在触发此之前,获取访问令牌并将其作为 Bearer 令牌传递到 header 中。