Class UsersResource
- java.lang.Object
- 
- org.keycloak.services.resources.admin.UsersResource
 
- 
 public class UsersResource extends Object Base resource for managing users- Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected ClientConnectionclientConnectionprotected javax.ws.rs.core.HttpHeadersheadersprotected RealmModelrealmprotected KeycloakSessionsession
 - 
Constructor SummaryConstructors Constructor Description UsersResource(KeycloakSession session, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.ws.rs.core.ResponsecreateUser(UserRepresentation rep)Create a new user Username must be unique.Stream<UserRepresentation>getUsers(String search, String last, String first, String email, String username, Boolean emailVerified, String idpAlias, String idpUserId, Integer firstResult, Integer maxResults, Boolean enabled, Boolean briefRepresentation, Boolean exact, String searchQuery)Get users Returns a stream of users, filtered according to query parameters.IntegergetUsersCount(String search, String last, String first, String email, Boolean emailVerified, String username, Boolean enabled)Returns the number of users that match the given criteria.UserResourceuser(String id)Get representation of the userUserProfileResourceuserProfile()Get representation of the user
 
- 
- 
- 
Field Detail- 
realmprotected final RealmModel realm 
 - 
clientConnectionprotected final ClientConnection clientConnection 
 - 
sessionprotected final KeycloakSession session 
 - 
headersprotected final javax.ws.rs.core.HttpHeaders headers 
 
- 
 - 
Constructor Detail- 
UsersResourcepublic UsersResource(KeycloakSession session, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent) 
 
- 
 - 
Method Detail- 
createUser@POST @Consumes("application/json") public javax.ws.rs.core.Response createUser(UserRepresentation rep)Create a new user Username must be unique.- Parameters:
- rep-
- Returns:
 
 - 
user@Path("{id}") public UserResource user(@PathParam("id") String id)Get representation of the user- Parameters:
- id- User id
- Returns:
 
 - 
getUsers@GET @Produces("application/json") public Stream<UserRepresentation> getUsers(@QueryParam("search") String search, @QueryParam("lastName") String last, @QueryParam("firstName") String first, @QueryParam("email") String email, @QueryParam("username") String username, @QueryParam("emailVerified") Boolean emailVerified, @QueryParam("idpAlias") String idpAlias, @QueryParam("idpUserId") String idpUserId, @QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResults, @QueryParam("enabled") Boolean enabled, @QueryParam("briefRepresentation") Boolean briefRepresentation, @QueryParam("exact") Boolean exact, @QueryParam("q") String searchQuery)Get users Returns a stream of users, filtered according to query parameters.- Parameters:
- search- A String contained in username, first or last name, or email
- last- A String contained in lastName, or the complete lastName, if param "exact" is true
- first- A String contained in firstName, or the complete firstName, if param "exact" is true
- email- A String contained in email, or the complete email, if param "exact" is true
- username- A String contained in username, or the complete username, if param "exact" is true
- emailVerified- whether the email has been verified
- idpAlias- The alias of an Identity Provider linked to the user
- idpUserId- The userId at an Identity Provider linked to the user
- firstResult- Pagination offset
- maxResults- Maximum results size (defaults to 100)
- enabled- Boolean representing if user is enabled or not
- briefRepresentation- Boolean which defines whether brief representations are returned (default: false)
- exact- Boolean which defines whether the params "last", "first", "email" and "username" must match exactly
- searchQuery- A query to search for custom attributes, in the format 'key1:value2 key2:value2'
- Returns:
- a non-null Streamof users
 
 - 
getUsersCount@Path("count") @GET @Produces("application/json") public Integer getUsersCount(@QueryParam("search") String search, @QueryParam("lastName") String last, @QueryParam("firstName") String first, @QueryParam("email") String email, @QueryParam("emailVerified") Boolean emailVerified, @QueryParam("username") String username, @QueryParam("enabled") Boolean enabled)Returns the number of users that match the given criteria. It can be called in three different ways. 1. Don't specify any criteria and passnull. The number of all users within that realm will be returned.2. If searchis specified other criteria such aslastwill be ignored even though you set them. Thesearchstring will be matched against the first and last name, the username and the email of a user.3. If searchis unspecified but any oflast,first,emailorusernamethose criteria are matched against their respective fields on a user entity. Combined with a logical and.- Parameters:
- search- arbitrary search string for all the fields below
- last- last name filter
- first- first name filter
- email- email filter
- username- username filter
- enabled- Boolean representing if user is enabled or not
- Returns:
- the number of users that match the given criteria
 
 - 
userProfile@Path("profile") public UserProfileResource userProfile()Get representation of the user- Parameters:
- id- User id
- Returns:
 
 
- 
 
-