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