我在本地运行 bitnami 的 Keycloak 镜像。 我想做的是;使用 Keycloak REST API。 但无论我多么努力,我都会得到 401。
我已经完成了文档中写的内容。所以这是客户端的截图。 访问类型
为 secret
,并且服务帐户已启用
。这是我创建的 testapi
客户端;
在这里您可以看到服务帐户角色;
为了查看和管理用户,我分配了 manage-users
和 view-user
角色。
首先,为了获取 access_token
,我使用了 client_id
和 client_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 上失败,在导入时给出语法错误
angular - 将 Angular 12 升级到 13 - mjs 文件中的编译错误