我在 docker 中使用最新的 keycloak 映像,并且可以在http://localhost:9080访问标准管理控制台。但是,我似乎无法访问Admin REST api文档中指定的任何路径。例如,基本路径/auth和 Resource Get 属于该领域的客户端返回属于该领域的客户端列表: /{realm}/clients我得到一个 404。对于文档中的任何其他方法也是如此。返回有效 200 json 响应的唯一路径是http://localhost:9080/auth/realms/ {realm-name}/根据文档,可以在 basepath + "/{realm-name}" 访问。我是否遗漏了某些内容或尝试使用错误的基本路径进行访问。docker 中的 keycloak 版本是 3.4.3.Final,根据文档,这是 keycloak 的最新版本。
问问题
16292 次
1 回答
26
我几乎可以肯定您正在尝试像这样调用端点:
但是,你错过了这部分/auth/admin/realms
请不要忘记首先授权您的通话,如此处所述
更新
这是我查看结果的步骤:
$ docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak
得到access_token
:
$ curl -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=admin&password=admin&client_id=admin-cli&grant_type=password' \
http://localhost:9080/auth/realms/master/protocol/openid-connect/token
复制并粘贴access_token
到Authorization
标题:
$ curl -X GET \
-H 'Authorization: Bearer <access_token_goes_here>' \
http://localhost:9080/auth/admin/realms/master/clients
于 2018-01-30T10:35:50.987 回答