Как получить составные роли в KeyCloak

#java #spring-security #keycloak #keycloak-services #keycloak-rest-api

#java #spring-безопасность #keycloak #keycloak-сервисы #keycloak-rest-api

Вопрос:

Я использую keycloak-admin-client 11.0.3 в своем приложении Spring Boot. Я могу получить все роли из KeyCloak. Я создал одну роль в качестве составных ролей и назначил роли для этой роли.Когда я пытаюсь получить эти составные роли, он говорит, что роль является составной, но составной имеет значение null. Знаете ли вы причину этого? Вы можете ознакомиться с моей реализацией и скриншотом ниже.

    Keycloak keycloak = Keycloak.getInstance(
     "http://localhost:8080/auth",   
     "master",                       
     "admin",                        
     "admin",                       
     "admin-cli",                    
     "");       
                 
  List<RoleRepresentation> roleRepresentationList = keycloak.realm("master").roles().list();                                         
 for(RoleRepresentation roleRepresentation : roleRepresentationList) {                                                              
     System.out.println(roleRepresentation.getComposites());      
  

Вот как я сгенерировал Sales Austria :

введите описание изображения здесь

Ответ №1:

Вместо:

 keycloak.realm("master").roles().list(); 
                      
  

используйте:

  keycloak.realm("master").toRepresentation().getRoles().getRealm();