12

是否可以通过 Keycloak REST API 更新自定义属性的值?例如,使用哪个端点以及如何为在此处创建的属性构造请求正文。

谢谢!

4

3 回答 3

11

您必须使用Keycloak Admin REST API

{host}/{basepath}/admin/realms/{realm}/users/{id}

例如 http://localhost:8080/auth/admin/realms/alumni-realm/users/cd57cfd8-cb1c-4025-abfd-67fe6b784d22

请求正文(JSON):

{
    "attributes": {
        "DOB": "1984-07-01"
    }
}

授权(不记名令牌):

  1. 使用Admin useraccess_token 进行授权。

  2. 如果您想允许更新他们自己的个人资料,那么您必须在 KeycloakUser中授予角色。manage-users(该用户将能够更新其他用户信息,因此不推荐)

于 2021-04-01T18:25:53.617 回答
1

当您通过 Keycloak REST API 更新用户自定义属性时,它会导致“ID”更改PUT ../realms/{realm}/users/{userID}

并且您需要 GET/{realm}/users两次才能在响应中获得新值

于 2021-02-24T03:45:41.350 回答
1

您可以使用 API 进行用户更新,只发送要更改的属性:

PUT ../realms/{realm}/users/{userID} 正文:

{
    "attributes": {
        "myAttribute": [
            "NewValue"
        ]
    }
}
于 2021-01-20T13:06:27.707 回答