Joins with Keycloak java admin client



我试图理解Keycloak的管理客户端api,尤其是在连接方面。

有这篇文章解决了获取每个角色的用户的类似需求。

密钥斗篷 - 将所有用户映射到角色

我们将如何使用管理客户端执行此操作?

因为现在我正在检索所有用户并检查角色是否匹配:

List<UserRepresentation> userRepresentations = keycloak.realm(realm).users().search("", 0, 1000); //get all users :(
        for (UserRepresentation userRepresentation : userRepresentations ) {
            List<String> userRoles = userRepresentation.getRealmRoles();
            if(userRoles != null && !Collections.disjoint(userRoles, roles)){
                result.add(KeycloakUserTransformer.userRepresentationToSimpleUserDTO(userRepresentation));
            }
        }

问题是,userRoles 列表总是空的:S。但实际上,我们在 keycloak 用户中有 ~2500 个用户。

编辑:我正在使用 keycloak 管理客户端 v.2.0。我想较新的版本支持这一点。

提前谢谢。

使用最新的管理客户端,您可以轻松获得

RoleResource roleResource = keycloak.realm("realm_name").roles().get("role_name");  
    Set<UserRepresentation> users = roleResource.getRoleUserMembers();

相关内容

  • 没有找到相关文章

最新更新