Package gluu.scim2.client.rest
Interface ClientSideService
- All Superinterfaces:
ClientSideFido2DeviceService,ClientSideFidoDeviceService,ClientSideGroupService,ClientSideUserService,CloseableClient,IFido2DeviceWebService,IFidoDeviceWebService,IGroupWebService,IUserWebService
public interface ClientSideService
extends ClientSideUserService, ClientSideGroupService, ClientSideFidoDeviceService, ClientSideFido2DeviceService
A conglomerate interface that exhibits a rich amount of methods to manipulate User, Group, and Fido u2f and Fido 2
Device resources via the SCIM API. It also has support to call service metadata endpoints (see section 4 of RFC 7644).
The ClientSide* super interfaces add methods to actual interfaces used in server side implementation (those
in package org.gluu.oxtrust.ws.rs.scim2) enabling a more straightforward
interaction with the service by supplying Json payloads directly. This brings developers an alternative to the
objectual approach.
-
Method Summary
Modifier and TypeMethodDescriptionjakarta.ws.rs.core.ResponsePerforms a GET to the/ResourceTypesendpoint that allows to discover the types of resources available on the target service provider.jakarta.ws.rs.core.ResponsePerforms a GET to the/Schemasendpoint that allows to retrieve information about resource schemas supported by the service provider.jakarta.ws.rs.core.ResponsePerforms a GET to the/ServiceProviderConfigendpoint that returns a JSON structure that describes the SCIM specification features available on the target service implementation.jakarta.ws.rs.core.ResponseprocessBulkOperations(String requestJson) The analog toprocessBulkOperations(BulkRequest)using a Json payload.jakarta.ws.rs.core.ResponseprocessBulkOperations(BulkRequest request) Sends a bulk request as per section 3.7 of RFC 7644.jakarta.ws.rs.core.ResponsesearchResourcesPost(String searchRequestJson) Executes a system-wide query using HTTP POST.jakarta.ws.rs.core.ResponsesearchResourcesPost(SearchRequest searchRequest) Executes a system-wide query using HTTP POST.jakarta.ws.rs.core.ResponseusersChangedAfter(String isoDate, int start, int itemsPerPage) Obtains user entries that have been updated or added in the local Gluu database after a specified timestamp.Methods inherited from interface gluu.scim2.client.rest.ClientSideFido2DeviceService
updateF2DeviceMethods inherited from interface gluu.scim2.client.rest.ClientSideFidoDeviceService
updateDeviceMethods inherited from interface gluu.scim2.client.rest.ClientSideGroupService
createGroup, patchGroup, updateGroupMethods inherited from interface gluu.scim2.client.rest.ClientSideUserService
createUser, patchUser, updateUserMethods inherited from interface gluu.scim2.client.rest.CloseableClient
close, setCustomHeadersMethods inherited from interface gluu.scim2.ws.rs.IFido2DeviceWebService
deleteF2Device, getF2DeviceById, patchF2Device, searchF2Devices, searchF2DevicesPost, updateF2DeviceMethods inherited from interface gluu.scim2.ws.rs.IFidoDeviceWebService
deleteDevice, getDeviceById, patchDevice, searchDevices, searchDevicesPost, updateDeviceMethods inherited from interface gluu.scim2.ws.rs.IGroupWebService
createGroup, deleteGroup, getGroupById, patchGroup, searchGroups, searchGroupsPost, updateGroupMethods inherited from interface gluu.scim2.ws.rs.IUserWebService
createUser, deleteUser, getUserById, patchUser, searchUsers, searchUsersPost, updateUser
-
Method Details
-
getServiceProviderConfig
@Path("/scim/v2/ServiceProviderConfig") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response getServiceProviderConfig()Performs a GET to the/ServiceProviderConfigendpoint that returns a JSON structure that describes the SCIM specification features available on the target service implementation. See sections 5 and 8.5 of RFC 7643.- Returns:
- An object abstracting the response obtained from the server to this request. A successful response for this request should contain a status code of 200 and a ServiceProviderConfig object in the entity body
-
getResourceTypes
@Path("/scim/v2/ResourceTypes") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response getResourceTypes()Performs a GET to the/ResourceTypesendpoint that allows to discover the types of resources available on the target service provider. See sections 6 and 8.6 of RFC 7643.- Returns:
- An object abstracting the response obtained from the server to this request. A successful response for this request should contain a status code of 200 and a ListResponse in the entity body (holding a collection of ResourceType objects)
-
getSchemas
@Path("/scim/v2/Schemas") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response getSchemas()Performs a GET to the/Schemasendpoint that allows to retrieve information about resource schemas supported by the service provider. See sections 7 and 8.7 of RFC 7643.- Returns:
- An object abstracting the response obtained from the server to this request. A successful response for this request should contain a status code of 200 and a ListResponse in the entity body (holding a collection of SchemaResource objects)
-
searchResourcesPost
@Path("/scim/v2/.search") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response searchResourcesPost(SearchRequest searchRequest) Executes a system-wide query using HTTP POST. The results obtained can be of different resource types. See section 3.4.3 of RFC 7644.- Parameters:
searchRequest- An object containing the parameters for the query to execute. These are the same parameters passed via URL for searches, for example in gluu.ws.rs.scim2.IUserWebService#searchUsers- Returns:
- An object abstracting the response obtained from the server to this request. A successful response for this request should contain a status code of 200 and a ListResponse in the entity body (holding a collection of SCIM resource objects)
-
searchResourcesPost
@Path("/scim/v2/.search") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response searchResourcesPost(String searchRequestJson) Executes a system-wide query using HTTP POST. This is analog tosearchResourcesPost(SearchRequest)using a Json String to supply the payload.- Parameters:
searchRequestJson- A String with the payload for the operation. It represents aorg.gluu.oxtrust.model.scim2.SearchRequestobject- Returns:
- An object abstracting the response obtained from the server to this request. A successful response for this request should contain a status code of 200 and a ListResponse in the entity body (holding a collection of SCIM resource objects)
-
processBulkOperations
@Path("/scim/v2/Bulk") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response processBulkOperations(BulkRequest request) Sends a bulk request as per section 3.7 of RFC 7644. This operation enables clients to send a potentially large collection of resource operations in a single request.- Parameters:
request- The object describing the request. Depending on the use case, constructing an instance of org.gluu.oxtrust.model.scim2.bulk.BulkRequest might be cumbersome. A more agile approach is using a Json string by callingprocessBulkOperations(String)- Returns:
- An object abstracting the response obtained from the server to this request. A succesful response for this request should contain a status code of 200 and a BulkResponse object in the entity body (holding the results of every processed operation). The number of results is constrained by parameters such as org.gluu.oxtrust.model.scim2.bulk.BulkRequest#failOnErrors.
-
processBulkOperations
@Path("/scim/v2/Bulk") @POST @Consumes({"application/scim+json","application/json"}) @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"}) @HeaderParam("Accept") @DefaultValue("application/scim+json") jakarta.ws.rs.core.Response processBulkOperations(String requestJson) The analog toprocessBulkOperations(BulkRequest)using a Json payload.- Parameters:
requestJson- A String with the payload for the operation. It represents a BulkRequest- Returns:
- An object abstracting the response obtained from the server to this request. A succesful response for this request should contain a status code of 200 and a BulkResponse object in the entity body (holding the results of every processed operation). The number of results is constrained by parameters such as org.gluu.oxtrust.model.scim2.bulk.BulkRequest#failOnErrors
-
usersChangedAfter
@Path("/scim/UpdatedUsers") @GET @Produces("application/json; charset=utf-8") jakarta.ws.rs.core.Response usersChangedAfter(@QueryParam("timeStamp") String isoDate, @QueryParam("start") int start, @QueryParam("pageSize") int itemsPerPage) Obtains user entries that have been updated or added in the local Gluu database after a specified timestamp. This is NOT part of SCIM spec. See class org.gluu.oxtrust.ws.rs.scim2.ScimResourcesUpdatedWebService See the doc page.- Parameters:
isoDate- Represents a timestamp in ISO format (eg. 2019-12-24T12:00:03-05:00)start- Integer offset from which results are outputitemsPerPage- Maximum number of results to retrieve- Returns:
- An json object representing the results of the query. See the doc page for more information
-