向所有现有用户添加自定义属性

mln*_*skr 5 keycloak keycloak-services

我已经有一个正在运行的 Keycloak 实例,其中有很多注册用户。如何在不手动操作的情况下向所有用户添加新的自定义属性(具有空值)?

dre*_*ash 4

如何在不手动操作的情况下向所有用户添加新的自定义属性(具有空值)?

您可以使用Keycloak Rest Admin API

首先你使用端点

GET /{realm}/users
Run Code Online (Sandbox Code Playgroud)

以获得所有用户。然后,对于每个用户,您提取其 ID 并调用端点:

PUT /{realm}/users/{id}
Run Code Online (Sandbox Code Playgroud)

有效负载 {"attributes": <旧属性> + <新属性>}

我在我的 repo中为此创建了一个 bash 脚本。运行示例:

sh addAttributeToAllUsers.sh localhost:8080 admin admin test '{"c":["c"]}'
Run Code Online (Sandbox Code Playgroud)