С помощью коннектора Keycloak Java, как получить пользовательские атрибуты группы без использования getGroupByPath? - PullRequest
1 голос
/ 22 апреля 2020

Мы использовали для доступа к атрибутам групп благодаря функции getGroupByPath, например:

GroupRepresentation group = realm.getGroupByPath(Constants.SLASH + groupName);
List<String> displayNames = group.getAttributes().get(Constants.ATTRIBUT_NAME_DISPLAY_NAME);
String displayName = displayNames.get(0);

К сожалению, реализация getGroupByPath не работает с большим количеством групп (у нас более 20K групп, включая 6K root групп). Таким образом, мы получаем доступ к объекту GroupRepresentation с помощью realm.groups().groups(groupName, 0, 1). Это прекрасно работает, но данный объект не содержит атрибутов группы :(.

Есть ли способ получить доступ к атрибутам групп без использования getGroupByPath ?

1 Ответ

1 голос
/ 06 мая 2020

Спасибо моему коллеге Лео HP, мы нашли обходной путь, если не решение:

List<GroupRepresentation> groupList = realm.groups().groups(groupName, 0, 1);
GroupResource groupResource = realm.groups.group(groupList.get(0).getId());
GroupRepresentation group = groupResource.toRepresentation();

List<String> displayNames = group.getAttributes().get(Constants.ATTRIBUT_NAME_DISPLAY_NAME);
String displayName = displayNames.get(0);

Браво!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...