【发布时间】:2021-12-12 19:09:49
【问题描述】:
非主域中的用户需要哪些角色/配置才能有效使用 Keycloak 15 Admin REST API?
我们已成功使用在领域管理客户端中分配了领域管理员角色的帐户来获取 admin-cli 客户端的令牌。
这仍然有效。
我不记得有多久了,但是在从 KC 14 迁移到 KC 15 之后,我们现在在尝试调用管理 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 可能出了什么问题/配置错误?
【问题讨论】:
-
请仔细检查您的用户在您尝试通过 REST API 访问的领域中是否确实具有
realm-management客户端的realm-admin角色。我只是加倍检查了 15.0.2 版一切正常。 Keycloak 知道用户从其数据库中拥有哪些角色。在这种情况下,无需将它们编码到令牌中。 -
我再次检查了一遍,我们尝试验证的用户确实具有分配给它的
realm-admin角色。 -
doh 感谢您的帮助。我应该仔细检查我使用的协议。有时会发生这些错误......
标签: keycloak administration keycloak-rest-api identity-management