Можно ли обновить значение настраиваемого атрибута через Keycloak REST API? Например, какую конечную точку использовать и как создать тело запроса для атрибута, который был создан здесь.
Спасибо!
Можно ли обновить значение настраиваемого атрибута через Keycloak REST API? Например, какую конечную точку использовать и как создать тело запроса для атрибута, который был создан здесь.
Спасибо!
Вам необходимо использовать Keycloak Admin REST API:
PUT {host}/{basepath}/admin/realms/{realm}/users/{id}
e.g.
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
обновлять свой профиль, вам необходимо предоставить manage-users
роль в Keycloak. (Этот пользователь сможет обновлять информацию о других пользователях, поэтому это не рекомендуется)
{"attributes": { "attribute_1": "new value","attribute_2": "existing value"}}
- person srp; 23.06.2021
Вы можете использовать API для обновления пользователя с отправкой только изменяемого атрибута:
PUT ../realms/{realm}/users/{userID} Body:
{
"attributes": {
"myAttribute": [
"NewValue"
]
}
}
Это вызывает изменение идентификатора при обновлении пользовательского атрибута через Keycloak REST API PUT ../realms/{realm}/users/{userID}
и вам нужно дважды ПОЛУЧИТЬ /{realm}/users
, чтобы получить новое значение в ответе