Details
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
index d341e35..df889b9 100755
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
@@ -29,6 +29,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
+import java.util.Map;
public interface UsersResource {
@@ -51,6 +52,11 @@ public interface UsersResource {
@Consumes(MediaType.APPLICATION_JSON)
Response create(UserRepresentation userRepresentation);
+ @Path("count")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ Map<String, Integer> count();
+
@Path("{id}")
UserResource get(@PathParam("id") String id);
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
index 0d7c890..304ba08 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
@@ -681,6 +681,16 @@ public class UsersResource {
return results;
}
+ @Path("count")
+ @GET
+ @NoCache
+ @Produces(MediaType.APPLICATION_JSON)
+ public Map<String, Integer> getUsersCount() {
+ auth.requireView();
+
+ return Collections.singletonMap("count", session.users().getUsersCount(realm));
+ }
+
@Path("{id}/role-mappings")
public RoleMapperResource getRoleMappings(@PathParam("id") String id) {
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/UserTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/UserTest.java
index 8919fb2..077d5f0 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/UserTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/UserTest.java
@@ -232,6 +232,14 @@ public class UserTest extends AbstractClientTest {
}
@Test
+ public void count() {
+ createUsers();
+
+ Integer count = realm.users().count().get("count");
+ assertEquals(9, count.intValue());
+ }
+
+ @Test
public void searchPaginated() {
createUsers();