@Override public boolean realmExists(String realmName) { return withKeycloak(kc -> getRealmResource(kc, realmName) != null); }
private UserList queryUsers(final Predicate<RealmRepresentation> realmPredicate, final Predicate<UserRepresentation> userPredicate) { return withKeycloak(keycloak -> { List<RealmRepresentation> realmReps = keycloak.realms().findAll(); UserList userList = new UserList(); for (RealmRepresentation realmRep : realmReps) { if (realmPredicate.test(realmRep)) { String realm = realmRep.getRealm(); keycloak.realm(realm).users().list() .stream() .filter(userPredicate) .forEachOrdered(userRep -> { List<GroupRepresentation> groupReps = keycloak.realm(realm).users().get(userRep.getId()).groups(); userList.getItems().add(buildUser(userRep, groupReps)); }); } } return userList; }); }
@Override public void deleteUsers(String namespace) { withKeycloak(keycloak -> { List<RealmRepresentation> realmReps = keycloak.realms().findAll(); for (RealmRepresentation realmRep : realmReps) { String realmNs = realmRep.getAttributes().get("namespace"); if (realmNs != null && realmNs.equals(namespace)) { String realm = realmRep.getRealm(); List<UserRepresentation> userReps = keycloak.realm(realm).users().list(0, 100); while (!userReps.isEmpty()) { for (UserRepresentation userRep : userReps) { keycloak.realm(realm).users().delete(userRep.getId()); } userReps = keycloak.realm(realm).users().list(0, 100); } } } return null; }); }