Keycloak:找不到完整路径的资源

问题描述 投票:0回答:6

我正在尝试让 keycloak 的 REST API 正常工作。

感谢这篇文章我能够获得令牌。但是,当尝试第一个答案中的用户列表示例时,我收到错误:

"error": "RESTEASY003210: Could not find resource for full path: http://PATHTOCEAKLOAK:81/auth/user/realms/master/users"

这是我对邮差的要求:

由于我使用的是 Bitnami 容器,管理员被称为用户,这就是为什么我使用 /auth/user/ 而不是 /auth/admin/

keycloak keycloak-rest-api
6个回答
92
投票

对于那些仍然面临此错误并使用 17.0+ 版本 Keycloak 的人,根据 官方文档,端点发生了变化。我通过仅使用

{realm}/user
并省略中间的
/auth
解决了这个问题。


14
投票

除了@Akanksha_p的回答之外,这里还有一个使用

curl
获取令牌的命令:

curl -k -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=your-client" -d "username=some-user" -d "password=hardpassword" -d "grant_type=password" -X POST https://your.fqdn.server:8443/realms/yourrealm/protocol/openid-connect/token

6
投票

如果您想知道当前领域可用的网址,您可以进入领域 -> 设置,然后单击“Ednpoints”链接。

或者直接访问以下网址:http://{host}:{port}/realms/{your_realm}/.well-known/openid-configuration。


2
投票

最新图片

quay.io/keycloak/keycloak:21.1.1

$docker exec -it container_name bash

现在从容器 shell (bash)

bash-5.1$ cd ~/bin/ 
bash-5.1$./kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin

输入管理员用户的凭据

bash-5.1$./kcadm.sh update realms/master -s sslRequired=NONE --server http://localhost:8080

1
投票

我实际上正在做同样的事情,并使用 bitnami/keycloak:latest 的 docker 镜像

它只需从基本路径中删除 /auth 并将其保留为 /admin

类似这样的东西(GET http://localhost:8085/admin/realms/test-realm/users)

enter image description here


0
投票
首先确保您在标头中分配的令牌来自管理员,因为假设他拥有所有必要的权限。然后像这样提出请求 http://localhost:8185/admin/realms/{realm}/users 将此“http://localhost:8185”更改为您的域。

© www.soinside.com 2019 - 2024. All rights reserved.