哪些角色使 Keycloak 领域中的用户能够使用 Admin-REST-API?

Which roles enable a user in a Keycloak Realm to use the Admin-REST-API?

不在主域中的用户需要哪些角色/配置才能有效使用 Keycloak 15 Admin REST API?

我们正在成功地使用在领域管理客户端中分配了领域管理员角色的帐户来获取 admin-cli 客户端的令牌。

这仍然有效。

我不记得有多久了,但是在从 KC 14 迁移到 KC 15 之后,我们现在在尝试调用 admin cli 端点时遇到 403 错误,例如:

/auth/admin/realms/${realm}/users/${userID}/role-mappings/clients/${appClientUUID}
/auth/admin/realms/${realm}/users/${userid}

等等

如果它会抛出 401,我会知道这至少是一个凭据问题,但令牌端点确实推出了一个访问令牌:

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "{kid}"
}.{
  "exp": 1635328475,
  "iat": 1635328175,
  "jti": "b621421d-ad69-4ddf-bedb-2c0d5da360cd",
  "iss": "{keycloak URL}",
  "sub": "{subvalue}",
  "typ": "Bearer",
  "azp": "admin-cli",
  "session_state": "{uuid}",
  "acr": "1",
  "scope": "openid email profile",
  "sid": "986dce48-2ef2-49e5-9152-4e54396ff2a4",
  "email_verified": true,
  "name": "-",
  "preferred_username": "-",
  "given_name": "-",
  "family_name": "-",
  "email": "-"
}.[Signature]

令我惊讶的是,令牌中似乎没有包含任何角色。

有没有人知道关于 Admin Rest API 的 KC 15 可能出了什么问题/配置错误?

原来这里唯一的问题是我在发出请求时指定的协议。有时会发生小学生错误。

对于那些出现在这里使用谷歌搜索相同内容的人:检查您的用户是否在客户端 realm-management 中分配了 realm-admin 角色。其他一切都由 Keycloak 内部处理。