Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Key斗篷-是否可以将复合角色及其属性映射到访问令牌?_Java_Keycloak - Fatal编程技术网

Java Key斗篷-是否可以将复合角色及其属性映射到访问令牌?

Java Key斗篷-是否可以将复合角色及其属性映射到访问令牌?,java,keycloak,Java,Keycloak,我试图实现的是一种将复合角色(及其属性)以及它们的“子”角色映射到访问令牌的方法,以便使用该数据 我只在keydove管理控制台中看到用户属性映射器,但对于角色属性,我看不到任何映射器。此外,我们如何维护复合角色的结构/粒度,以便检查它们聚合了哪些角色 主要的想法是有这样的东西: 用户->(具有多个属性的组合角色->角色) 我还尝试通过这种方式获取所需的信息,但没有成功,因为在尝试获取realmResource.toRepresentation时,它抛出了一个http403禁止的异常 我在做什么

我试图实现的是一种将复合角色(及其属性)以及它们的“子”角色映射到访问令牌的方法,以便使用该数据

我只在keydove管理控制台中看到用户属性映射器,但对于角色属性,我看不到任何映射器。此外,我们如何维护复合角色的结构/粒度,以便检查它们聚合了哪些角色

主要的想法是有这样的东西:

用户->(具有多个属性的组合角色->角色)

我还尝试通过这种方式获取所需的信息,但没有成功,因为在尝试获取
realmResource.toRepresentation
时,它抛出了一个http
403禁止的异常

我在做什么:

String keycloakRealm = tenantContext.getOrganizationRequestConfig().getKeycloakRealm();
RealmResource realmResource = keycloak().realm(keycloakRealm);

if (realmResource != null) {
    List<RoleRepresentation> rolesRepresentationList= realmResource.toRepresentation().getRoles().getRealm();
    for (RoleRepresentation rolesRepresentation : rolesRepresentationList) {
        Composites composites = rolesRepresentation.getComposites();
        Map<String, List<String>> attributes = rolesRepresentation.getAttributes();
    }
}
String keydepearlm=tenantContext.getOrganizationRequestConfig().getkeydepearlm();
RealmResource RealmResource=keydepore().realm(keydeporerealm);
if(realmResource!=null){
List rolesRepresentationList=realmResource.toRepresentation().getRoles().getRealm();
for(角色演示角色演示:角色演示列表){
Composites=rolesRepresentation.getComposites();
Map attributes=rolesRepresentation.getAttributes();
}
}
如果无法使用这种方法(用户->(具有多个属性的组合角色->角色)),你们有什么建议或替代方法吗

ideia要将其映射到访问令牌中,但我发现很难在令牌中设置此结构

谢谢

注意:我需要与Azure AD集成


编辑:客户端协议是OIDC

您是否尝试使用内置映射器类型
用户域角色
用户客户端角色
或用户联盟映射器
角色ldap映射器
?您好,我使用了域角色和客户端角色映射器,但结构没有维护,复合角色和角色位于访问令牌中树的同一级别。此外,用户属性映射器没有映射我所拥有的角色复合属性。您是否尝试编写自定义属性映射器?