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.Response
Performs a GET to the/ResourceTypes
endpoint that allows to discover the types of resources available on the target service provider.jakarta.ws.rs.core.Response
Performs a GET to the/Schemas
endpoint that allows to retrieve information about resource schemas supported by the service provider.jakarta.ws.rs.core.Response
Performs a GET to the/ServiceProviderConfig
endpoint that returns a JSON structure that describes the SCIM specification features available on the target service implementation.jakarta.ws.rs.core.Response
processBulkOperations
(String requestJson) The analog toprocessBulkOperations(BulkRequest)
using a Json payload.jakarta.ws.rs.core.Response
processBulkOperations
(BulkRequest request) Sends a bulk request as per section 3.7 of RFC 7644.jakarta.ws.rs.core.Response
searchResourcesPost
(String searchRequestJson) Executes a system-wide query using HTTP POST.jakarta.ws.rs.core.Response
searchResourcesPost
(SearchRequest searchRequest) Executes a system-wide query using HTTP POST.jakarta.ws.rs.core.Response
usersChangedAfter
(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
updateF2Device
Methods inherited from interface gluu.scim2.client.rest.ClientSideFidoDeviceService
updateDevice
Methods inherited from interface gluu.scim2.client.rest.ClientSideGroupService
createGroup, patchGroup, updateGroup
Methods inherited from interface gluu.scim2.client.rest.ClientSideUserService
createUser, patchUser, updateUser
Methods inherited from interface gluu.scim2.client.rest.CloseableClient
close, setCustomHeaders
Methods inherited from interface gluu.scim2.ws.rs.IFido2DeviceWebService
deleteF2Device, getF2DeviceById, patchF2Device, searchF2Devices, searchF2DevicesPost, updateF2Device
Methods inherited from interface gluu.scim2.ws.rs.IFidoDeviceWebService
deleteDevice, getDeviceById, patchDevice, searchDevices, searchDevicesPost, updateDevice
Methods inherited from interface gluu.scim2.ws.rs.IGroupWebService
createGroup, deleteGroup, getGroupById, patchGroup, searchGroups, searchGroupsPost, updateGroup
Methods 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/ServiceProviderConfig
endpoint 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/ResourceTypes
endpoint 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/Schemas
endpoint 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.SearchRequest
object- 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
-