Fix matchRole lookup to include group-inherited and composite roles #25

Merged
stb merged 2 commits from fix-role-membership into main 2026-07-18 14:14:44 +02:00

View file

@ -2,6 +2,7 @@ package de.ccc.hamburg.keycloak.attribute_endpoints;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Stream;
@ -118,7 +119,8 @@ public class AttributeEndpointsResourceProvider implements RealmResourceProvider
.toList();
UserProvider userProvider = session.users();
Stream<UserModel> users = userProvider.getRoleMembersStream(realm, matchRole);
Stream<UserModel> users = userProvider.searchForUserStream(realm, Map.of())
.filter(user -> user.hasRole(matchRole));
stb marked this conversation as resolved Outdated

this comment isn't that useful, after this PR is merged, as it references old code. Please write such information in the PR discussion

this comment isn't that useful, after this PR is merged, as it references old code. Please write such information in the PR discussion
List<String> attribute_list = users
.map(user -> {