diff --git a/src/Keycloak.Net/Users/KeycloakClient.cs b/src/Keycloak.Net/Users/KeycloakClient.cs index 647f9b4b..4a4cbc03 100644 --- a/src/Keycloak.Net/Users/KeycloakClient.cs +++ b/src/Keycloak.Net/Users/KeycloakClient.cs @@ -54,10 +54,32 @@ public async Task> GetUsersAsync(string realm, bool? briefRepr .ConfigureAwait(false); } - public async Task GetUsersCountAsync(string realm) => await GetBaseUrl(realm) - .AppendPathSegment($"/admin/realms/{realm}/users/count") - .GetJsonAsync() - .ConfigureAwait(false); + public async Task GetUsersCountAsync( + string realm, + string email = null, + bool? emailVerified = null, + string firstName = null, + string lastName = null, + string search = null, + string username = null + ) + { + var queryParams = new Dictionary + { + [nameof(email)] = email, + [nameof(emailVerified)] = emailVerified, + [nameof(firstName)] = firstName, + [nameof(lastName)] = lastName, + [nameof(search)] = search, + [nameof(username)] = username + }; + + return await GetBaseUrl(realm) + .AppendPathSegment($"/admin/realms/{realm}/users/count") + .SetQueryParams(queryParams) + .GetJsonAsync() + .ConfigureAwait(false); + } public async Task GetUserAsync(string realm, string userId) => await GetBaseUrl(realm) .AppendPathSegment($"/admin/realms/{realm}/users/{userId}")