Keycloak Admin Rest API unknown_error 用于更新用户 API

Muh*_*air 3 keycloak keycloak-services

我正在尝试使用 Admin Rest API 向用户添加自定义属性。当我尝试使用默认主域时,它工作正常。但是当我用我创建的另一个领域尝试它时,它会产生“unknown_error”。

我在下面附上了请求的屏幕截图。 在此处输入图片说明

小智 8

我发现我必须使用领域admin-cli中的客户端master才能使用管理 REST API。当您查看主领域时,会发现子领域中不存在管理员角色。该管理员角色似乎是成功访问管理 REST API 所必需的。

我的建议是,您可以在主领域中创建一个客户端作为服务帐户,然后将管理员角色分配给该客户端。然后,您可以使用该唯一的管理服务帐户进行其他程序的 API 访问。


Ste*_*hen 8

您尚未向您的领域授予相关权限。

转到“客户”-> 演示->“服务帐户角色”:

  • 在客户端角色下拉框中,单击 realm-management
  • 在可用角色框中,选择相关角色。尝试manage-usersview-users

然后获取新的访问令牌并再次尝试您的 API 调用。

  • 这实际上是正确的答案。首先,确保您将领域的 admin-cli 客户端配置为“访问类型”= 机密,并打开“启用服务帐户”(https://www.appsdeveloperblog.com/keycloak-rest-api-create-a-new -用户/) (8认同)

mar*_*_st 5

显然,Admin API 需要通过客户端访问admin-cli

{"error":"unknown_error"}当我想使用默认 admin-cli 客户端的副本时,我收到了 403 错误。


Gui*_*rme 5

我正在使用Keycloak 21

我必须做的是:

  • 转到客户,访问我的客户
  • 转到服务帐户角色选项卡
  • 然后点击分配角色
  • 按“ ”过滤clients(默认按“ realm roles”)
  • 然后在正确的领域中按所需的角色进行搜索(例如manage-users
  • 选择角色并单击分配