检索特定组的密钥斗篷组 ID



我正在尝试从keycloak访问特定组的组ID。我发现好像没有 REST API 调用可用于访问这个。您可以参考此处 http://www.keycloak.org/docs-api/3.0/rest-api/index.html#_groups_resource。这表明您只能使用其 ID 访问所有组详细信息或特定组详细信息。实际上,我实际需要的是我只想访问特定组的id。谁能告诉我怎么做?

你可以这样写:

GET  http://localhost:your_port/auth/admin/realms/your_realm_name/groups?search=name_of_the_group

它将返回 {id, 名称, 路径, 子组} 给你。

我的邮递员示例

您使用的文档非常旧。查看最新版本的文档:

https://www.keycloak.org/docs-api/4.8/rest-api/#_groups_resource

您可以提供"搜索"参数以按名称查找组。

遗憾的是,如果使用子组的名称,它将返回从顶级组开始的整个层次结构,因此组的 API 仍然存在问题。

这可能来得有点晚,但无论如何。

还有一个GET /{realm}/group-by-path/{path}端点,它将仅返回您想要的组,因为path组是唯一的。

此外,如果有人需要(并且由于这实际上没有记录,或者至少在撰写此答案时没有(,如果您想从 admin-cli 调用此端点,您可以执行以下操作: ./kcadm.sh get group-by-path/{path} --realm {realm}

ex.: ./kcadm.sh get group-by-path/parent_group/child_group/grand_child_group --realm realm1

一种方法是进入钥匙斗篷管理面板。然后在"组"选项中,选择一个组。最后,您将在URL中找到组ID。像/realms/Applications/groups/bc49dc6c-7c2a-40c4-bf60-fea8c2b1d562

您可以获取所有组的列表:

GET /admin/realms/{realm}/groups

响应将具有包括 id 在内的组属性。

[
  {
    "id": "8ge163b3-6kc7-40ed-x069-3309eabbcbea",
    "name": "group1",
    "path": "/group1",
    "subGroups": []
  }
]

最新更新