Keycloak 如何从keydaporestapi获取用户?

Keycloak 如何从keydaporestapi获取用户?,keycloak,Keycloak,嗨,我正在尝试使用keydepeapi,但我不太了解它是如何工作的。我想获得一个领域的所有用户。因此,我首先使用以下端点获取令牌:/realms/master/protocol/openid connect/token,并在请求体中使用以下参数: 客户识别码 grant_类型 用户名 密码 客户机密 第一个问题是:我应该使用什么客户端 然后我用授权头中的令牌调用这个端点:/admin/realms/master/users,但是我得到了403状态码,我不明白为什么 谢谢403=您可能没有查看

嗨,我正在尝试使用keydepeapi,但我不太了解它是如何工作的。我想获得一个领域的所有用户。因此,我首先使用以下端点获取令牌:
/realms/master/protocol/openid connect/token
,并在请求体中使用以下参数:

  • 客户识别码
  • grant_类型
  • 用户名
  • 密码
  • 客户机密
第一个问题是:我应该使用什么客户端

然后我用授权头中的令牌调用这个端点:
/admin/realms/master/users
,但是我得到了403状态码,我不明白为什么


谢谢

403=您可能没有查看用户的权限。您需要为已使用的用户定义
客户端角色
,并分配
查看用户
角色:

您需要两个步骤

  • 首先从主域的admin cli客户端获取访问令牌

  • 第二次使用访问令牌调用AdminRESTAPI,在 授权标头

#获取访问令牌
curl-X柱\
https:///auth/realms/master/protocol/openid-connect/token \
-H'Accept:application/json'\
-H'内容类型:应用程序/x-www-form-urlencoded'\
-H'缓存控制:无缓存'\
-d'grant\u type=password&username=l&password=&client\u id=admin cli'
#获取网关领域的所有用户,使用上面的令牌并使用承载作为前缀
curl-xget\
https:///auth/admin/realms/gateway/users \
-H'授权:持有人EYJHBGCIOIJSUZI1NIISINR5CIGOAISLDUIWIA2LKI…'\
-H'缓存控制:无缓存'
# get an access token
curl -X POST \
  https://<HOST>/auth/realms/master/protocol/openid-connect/token \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'grant_type=password&username=<USERNAME>l&password=<PASSWORD>&client_id=admin-cli'

# get all users of gateway realm, use the token from above and use Bearer as prefix
curl -X GET \
  https://<HOST>/auth/admin/realms/gateway/users \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkI...' \
  -H 'cache-control: no-cache'