有没有办法使用 Keycloak Admin REST API 将用户添加到 Keycloak 中的多个组(批量)?

Posted

技术标签:

【中文标题】有没有办法使用 Keycloak Admin REST API 将用户添加到 Keycloak 中的多个组(批量)?【英文标题】:Is there a way to add a user to several groups (in bulk) in Keycloak using Keycloak Admin REST API? 【发布时间】:2021-08-25 11:23:27 【问题描述】:

目前我正在使用此端点一次将用户添加到一个组中:

PUT /realm/users/id/groups/groupId

在我的用例中,批量执行做作是有益的,到目前为止,我还没有找到这样做的记录方法,有没有办法做到这一点? 谢谢

【问题讨论】:

【参考方案1】:

您可以尝试更新完整的用户数据

PUT /realm/users/id

partial UserRepresentation 包含一个仅带有“groups”数组的最小 json 吗?

我看到几乎所有字段都标记为可选: cfrhttps://www.keycloak.org/docs-api/12.0/rest-api/index.html#_userrepresentation

【讨论】:

感谢您的回复,我认为这是一个很好的解决方法。但是我还没有让它工作。在正文中尝试:groups:[“group-1-id”,“group-2-id”]它给出了代码200但没有将用户添加到组中,并且groups:[id:” group-1-id" , id: "group-2-id" ] 给出代码 500 您是否尝试使用组 id(例如“fcc0d684-f80b-4351-a441-49c8170c652c”)而不是组名(例如:“my-group”) ? 没错,就是组 ID。我认为我正在寻找的功能不幸在 Keycloak 中不可用。我需要它来实现原子性,因为我在 Keycloak 和本地数据库中进行了修改,但是现在我正在通过回滚来处理它,如果一个 PUT /realm/users/id/groups/groupId 失败并且我撤消了有的话就换。【参考方案2】:
PUT /realm/users/id

它在文档中,但它不起作用。

我开始讨论github

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于有没有办法使用 Keycloak Admin REST API 将用户添加到 Keycloak 中的多个组(批量)?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在用户属性上查询 keycloak 用户?

Keycloak 8:已添加用户名为“admin”的用户

有没有办法使用 cypress/JS 以编程方式通过 Keycloak 登录应用程序?

无法使用 Keycloak admin api 设置用户凭据

有没有办法在不使用其 UI 的情况下使用 KeyCloak 身份验证?

无法定义以 keycloak 开头的属性