keycloak-aplcache

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();