是否可以通过 Keycloak REST API 更新自定义属性的值?例如,使用哪个端点以及如何为在此处创建的属性构造请求正文。
谢谢!
您必须使用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"
}
}
授权(不记名令牌):
使用Admin user
access_token 进行授权。
如果您想允许更新他们自己的个人资料,那么您必须在 KeycloakUser
中授予角色。manage-users
(该用户将能够更新其他用户信息,因此不推荐)
当您通过 Keycloak REST API 更新用户自定义属性时,它会导致“ID”更改PUT ../realms/{realm}/users/{userID}
并且您需要 GET/{realm}/users
两次才能在响应中获得新值
您可以使用 API 进行用户更新,只发送要更改的属性:
PUT ../realms/{realm}/users/{userID} 正文:
{
"attributes": {
"myAttribute": [
"NewValue"
]
}
}