Я извлек информацию о группах пользователей из конечной точки OIDC Keycloak, но они не поставляются с группой ATTRIBUTES, которую я определил (см. Вкладку «Атрибуты» в форме группы рядом с настройками).Требуется ли добавить запрос в мой запрос?
Я использую клиент RESTeasy для доступа к API администратора Keycloak (результаты были намного лучше, чем при использовании предоставленного клиента администратора, однако):
@Path("/admin/realms/{realm}")
public interface KeycloakAdminService {
@GET
@Path("/users/{id}/groups")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
List<GroupRepresentation> getUserGroups(@PathParam("realm") String realm, @PathParam("id") String userId,
@HeaderParam(AUTHORIZATION) String accessToken);
//DEBUG the access token must always be prefixed by "Bearer "
}
Таким образом, я могу получить группы пользователей:
private void fetchUserGroups(UserInfoOIDC infos, String userId) {
log.info("Fetching user groups from {}...", getRealm());
try {
KeycloakAdminService proxy = kcTarget.proxy(KeycloakAdminService.class);
AccessTokenResponse response = authzClient.obtainAccessToken(getAdminUsername(), getAdminPassword());
List<GroupRepresentation> groups = proxy.getUserGroups(getRealm(), userId,
"Bearer " + response.getToken());
infos.importUserGroups(groups); //DEBUG here we go!
} catch (WebApplicationException e) {
log.error("User groups failure on {}: {}", getRealm(), e.getMessage());
}
}
Но когда дело доходит до исследования данных, оказывается, что в структуре GroupRepresentation # getAttributes отсутствуют атрибуты.
I 'Мы читали, что претензии могут быть добавлены к запросам пользователя.Работает ли это на API администратора?Как мне достичь этого результата с помощью шаблонов RESTeasy?Thx