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