rest - Keycloak 返回未经授权的 401

我在本地运行 bitnami 的 Keycloak 镜像。 我想做的是;使用 Keycloak REST API。 但无论我多么努力,我都会得到 401。

我已经完成了文档中写的内容。所以这是客户端的截图。 访问类型 secret ,并且服务帐户已启用。这是我创建的 testapi 客户端;

在这里您可以看到服务帐户角色; 为了查看和管理用户,我分配了 manage-usersview-user 角色。

首先,为了获取 access_token ,我使用了 client_idclient_credential。 正如你从这里看到的; 我可以毫无问题地获取访问 token 。

但是当我尝试获取用户列表或创建新用户时,我总是得到 401。 在这里你可以看到我使用了从 http://localhost:8092/auth/realms/test/protocol/openid-connect/token 获得的相同的 access_token

没有意义。我开始考虑砸电脑。

任何帮助将不胜感激

最佳答案

不是这样的,获取用户的过程如下:

首先尝试获取管理员的访问 token

POST http://localhost:8080/realms/master/protocol/openid-connect/token 你请求的正文将被 x-wwww-url 编码

client_id = admin-cli
username=admin
password=admin's password
grant_type=password

响应包含管理员的访问 token 第二步是让你的领域的用户在你的案例中进行测试

获取http://localhost:8080/admin/realms/test/users

并在这个请求中传递admin的不记名 token

https://stackoverflow.com/questions/71328433/

相关文章:

cypress - 使用 Cypress 运行测试时,在 Auth0 中禁用验证码的正确方法是什么

typescript - 如何使用带有更新的 FirestoreDataConverter?

reactjs - 使用 useEffect 监听子组件可以吗?

ruby-on-rails - Rails 7 升级后的 ActionController::Unk

sql - 如何在 Snowflake 中嵌套使用一个流的存储过程?

javascript - 为什么 Jest 在 node-fetch 上失败,在导入时给出语法错误

c# - 检测持续时间值列表中的闪烁

angular - 将 Angular 12 升级到 13 - mjs 文件中的编译错误

telegram - 热门从 Telegram Bot 消息中获取回调数据

python-3.x - SSHTunnel 搜索默认私钥 (id_rsa) 而不是我指定的 ssh