当前位置: 首页 > 知识库问答 >
问题:

KeyCloak:404为用户创建角色映射

谷星文
2023-03-14

我试图使用KeyCloak的管理API,以便向用户角色映射添加客户端级别的角色。为此,我使用管理endpoint:

POST /{realm}/groups/{id}/role-mappings/clients/{client}
http://localhost/tests/admin/realms/testrealm/users/d1a15b4c-9853-4d87-9b8d-d4cf3fac3650/role-mappings/clients/3f222762-5300-48f2-be48-32f001d5a7dc
[
    {
        "id": "32f02358-9312-4b7b-8584-85dcaf257667",
        "name": "test_role_app",
        "description": null,
        "scopeParamRequired": false
    }
]
{
    "error": "Role not found"
}

不确定这里的问题是什么,因为该角色存在于系统中。这里会出什么问题?

共有1个答案

李和昶
2023-03-14

原来是我用错了圆盘。我有两个同名的角色(一个在领域级别,另一个在客户级别)。在使用正确的ID后,一切都很好!

另外,整个请求主体看起来如下所示:

[
    {
        "id": "94cf6502-0375-4b62-a3ae-465d047738c3",
        "name": "test_role_app",
        "composite": false,
        "clientRole": true,
        "containerId": "a7e640cb-751d-4caa-81a0-79d38d31e025"
    }
]
 类似资料:
  • 有没有更好的方法来实现这种设置(类似于组织设置,一个人可以属于几个组织并管理其中的一些/所有组织,而不必有几个帐户)? 我用的是Keycloak 4.6

  • 我有一个用KeyCloak保护的spring boot应用程序。领域中的每个用户都有我的资源(客户机)的角色。角色配置在用户选项卡上,对于角色映射选项卡下的特定用户,角色配置为客户端角色: 我还使用了与LDAP Active Directory的集成,所有用户都来自LDAP Active Directory。现在,如果我想为Active Directory(AD)组添加特定的角色,我必须进入Act

  • 我们公司的用户存储在ldap(oracle internet目录)中。用户有特定的组,例如管理员、用户等。我需要将这些组映射到我的客户端应用程序角色。客户机应用程序是带有keycloak-spring-security-adapter(pom)的测试Spring Boot应用程序。 我在Keycloak管理控制台中执行的步骤: 在Users Federation菜单中使用ldap创建用户Feder

  • 我试图在一个spring boot项目中用KeyCloak的/usersendpoint创建用户。以下是我所遵循的步骤:首先在master领域中创建一个admin和admin-cli客户端。用于获取keycloak的实例以进行进一步的操作。 如果不在user中添加客户端表示,则可以创建用户。如果我在userRepresentation对象中添加CredentialRepresentation,我将

  • 使用keycloak rest API创建以下内容。 试图为使用KeyCloak的应用程序编写完全自动化的CI解决方案。我在测试期间自动重新创建k8s中的keycloak服务器,以100%确保所有内容都是相同的。 目前使用KeyCloak5。 但是我无法将我的新用户分配给客户机-角色领域-管理中的所有角色。我试图阅读api文档,但我找不到如何执行该命令。

  • 我想我的代码中的“admin-cli”是错误的,但这是master域中的客户端ID。这是不是身份证错了?如何使请求使特定用户的所有角色工作?