dre*_*ash 11
更新:从Keycloak 17 Quarkus 发行版/auth开始,该路径已被删除。因此,您可能需要从该答案中显示的端点调用中删除 。/auth
使用Keycloak Admin REST API设置用户属性;您使用端点:
PUT <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>/users/<USER_ID>
Run Code Online (Sandbox Code Playgroud)
与有效负载
{"attributes":{"<ATTRIBUTE_NAME>":["<ATTRIBUTE_VALUE>"]}}
Run Code Online (Sandbox Code Playgroud)
您<USER_ID>可以使用端点获取它:
GET <YOUR_KEYCLOAK_DOMAIN>/auth/admin/realms/<YOUR_REALM>/users/?username=<THE_USERNAME>
Run Code Online (Sandbox Code Playgroud)
从JSON响应中提取字段id.
一步步:
您可以使用Keycloak Admin REST API获取该信息;要调用该 API,您需要具有适当权限的用户提供的访问令牌。现在,我将使用领域admin中的用户master:
PUT <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>/users/<USER_ID>
Run Code Online (Sandbox Code Playgroud)
您将收到带有管理员令牌的 JSON 响应。access_token从该响应中提取属性值。让我们将其保存在变量中$ACCESS_TOKEN以供以后参考。
要从您的领域获取用户 ID$REALM_NAME:
{"attributes":{"<ATTRIBUTE_NAME>":["<ATTRIBUTE_VALUE>"]}}
Run Code Online (Sandbox Code Playgroud)
从响应中提取用户,id例如如下
jq -r .[].id
Run Code Online (Sandbox Code Playgroud)
或者甚至更干净的是传递给
设置用户属性:
GET <YOUR_KEYCLOAK_DOMAIN>/auth/admin/realms/<YOUR_REALM>/users/?username=<THE_USERNAME>
Run Code Online (Sandbox Code Playgroud)
您还可以查看我的 GitHub 存储库上的setUser脚本。
| 归档时间: |
|
| 查看次数: |
7164 次 |
| 最近记录: |