Keycloak 如何在不使用角色映射API的情况下,使用自定义领域角色在KeyClope中创建用户?

Keycloak 如何在不使用角色映射API的情况下,使用自定义领域角色在KeyClope中创建用户?,keycloak,keycloak-rest-api,Keycloak,Keycloak Rest Api,当我尝试使用新的自定义用户角色创建时,我可以创建该用户,但在“角色映射”选项卡上,它没有反映: 有效载荷: { "username": "user1", "enabled": true, "firstName": "user", "lastName": "name", "credentials":

当我尝试使用新的自定义用户角色创建时,我可以创建该用户,但在“角色映射”选项卡上,它没有反映:

有效载荷:

{
    "username": "user1",
    "enabled": true,
    "firstName": "user",
    "lastName": "name",
    "credentials": [
        { 
            "type": "password",
            "value": "*******" 
            
        }
    ],
    "realmRoles": [ "user" ],
    "clientRoles": {
         "account": ["view-profile", "manage-account"]
    }

}

只要在同一领域中创建,在“角色”选项卡中创建的所有角色都应可用。根据您提供的图像,您似乎仍需要选择用户角色,然后单击“添加选定项”


将角色连接到用户的其他方法是使用“角色”->“默认角色”,或者如果您使用的是外部IDP或客户端作用域,“IDP”->“映射器”中的角色映射器用于IDP,而“客户端作用域”->“映射器”中的角色映射器用于作用域。

“客户端作用域”->“映射器”用于scopes@Openeye您能解释更多吗?我已经创建了一个客户机范围,现在,我已经添加了一个内置的令牌映射器来查看令牌中的领域角色。需要使用哪个映射器连接用户角色以创建用户?创建新客户端时,可以为该客户端定义映射器。将此布局保存在客户机范围内通常很有用,以便通过共享一些公共设置更容易创建新客户机。对于您来说,客户端作用域可能有助于将硬编码领域角色分配给用户,并将客户端作用域分配给通过某些客户端登录的用户。然而,如果您扩展您的用例,我可能会给您一个更好的答案。用例:创建一个用户,并分配一个角色(管理员或用户),该角色具有{keydepot server address}auth/admin/realms/ntc/users},而不使用keydepot UI。这似乎在旧版本中起作用。基本上,我希望在创建时向用户添加一个领域角色和一个客户端角色。为用户分配客户端作用域,是否有可用的API?或者使用映射到自定义客户机范围的客户机来完成此工作?