Interface ClientSideService

All Superinterfaces:
ClientSideFido2DeviceService, ClientSideFidoDeviceService, ClientSideGroupService, ClientSideUserService, CloseableClient, IFido2DeviceWebService, IFidoDeviceWebService, IGroupWebService, IUserWebService

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 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 to searchResourcesPost(SearchRequest) using a Json String to supply the payload.
      Parameters:
      searchRequestJson - A String with the payload for the operation. It represents a org.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 calling processBulkOperations(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 to processBulkOperations(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 output
      itemsPerPage - Maximum number of results to retrieve
      Returns:
      An json object representing the results of the query. See the doc page for more information