Package io.jans.scim2.client.rest
Interface ClientSideService
-
- All Superinterfaces:
ClientSideFido2DeviceService
,ClientSideFidoDeviceService
,ClientSideGroupService
,ClientSideUserService
,CloseableClient
,io.jans.scim.ws.rs.scim2.IFido2DeviceWebService
,io.jans.scim.ws.rs.scim2.IFidoDeviceWebService
,io.jans.scim.ws.rs.scim2.IGroupWebService
,io.jans.scim.ws.rs.scim2.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
io.jans.scim.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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description javax.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.javax.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.javax.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.javax.ws.rs.core.Response
processBulkOperations(io.jans.scim.model.scim2.bulk.BulkRequest request)
Sends a bulk request as per section 3.7 of RFC 7644.javax.ws.rs.core.Response
processBulkOperations(java.lang.String requestJson)
The analog toprocessBulkOperations(BulkRequest)
using a Json payload.javax.ws.rs.core.Response
searchResourcesPost(io.jans.scim.model.scim2.SearchRequest searchRequest)
Executes a system-wide query using HTTP POST.javax.ws.rs.core.Response
searchResourcesPost(java.lang.String searchRequestJson)
Executes a system-wide query using HTTP POST.javax.ws.rs.core.Response
usersChangedAfter(java.lang.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 io.jans.scim2.client.rest.ClientSideFido2DeviceService
updateF2Device
-
Methods inherited from interface io.jans.scim2.client.rest.ClientSideFidoDeviceService
updateDevice
-
Methods inherited from interface io.jans.scim2.client.rest.ClientSideGroupService
createGroup, patchGroup, updateGroup
-
Methods inherited from interface io.jans.scim2.client.rest.ClientSideUserService
createUser, patchUser, updateUser
-
Methods inherited from interface io.jans.scim2.client.rest.CloseableClient
close, setCustomHeaders
-
Methods inherited from interface io.jans.scim.ws.rs.scim2.IFido2DeviceWebService
deleteF2Device, getF2DeviceById, patchF2Device, searchF2Devices, searchF2DevicesPost, updateF2Device
-
Methods inherited from interface io.jans.scim.ws.rs.scim2.IFidoDeviceWebService
deleteDevice, getDeviceById, patchDevice, searchDevices, searchDevicesPost, updateDevice
-
-
-
-
Method Detail
-
getServiceProviderConfig
@Path("/v2/ServiceProviderConfig") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") javax.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("/v2/ResourceTypes") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") javax.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("/v2/Schemas") @GET @Produces("application/scim+json; charset=utf-8") @HeaderParam("Accept") @DefaultValue("application/scim+json") javax.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("/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") javax.ws.rs.core.Response searchResourcesPost(io.jans.scim.model.scim2.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 io.jans.scim.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("/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") javax.ws.rs.core.Response searchResourcesPost(java.lang.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 aio.jans.scim.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("/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") javax.ws.rs.core.Response processBulkOperations(io.jans.scim.model.scim2.bulk.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 io.jans.scim.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 successful 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 io.jans.scim.model.scim2.bulk.BulkRequest#failOnErrors.
-
processBulkOperations
@Path("/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") javax.ws.rs.core.Response processBulkOperations(java.lang.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 successful 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 io.jans.scim.model.scim2.bulk.BulkRequest#failOnErrors
-
usersChangedAfter
@Path("/v2/UpdatedUsers") @GET @Produces("application/json; charset=utf-8") javax.ws.rs.core.Response usersChangedAfter(@QueryParam("timeStamp") java.lang.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 io.jans.scim.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
-
-