Class ScimClient

java.lang.Object
org.cibseven.bpm.identity.impl.scim.ScimClient

public class ScimClient extends Object
HTTP client for SCIM API operations.
  • Field Details

    • configuration

      protected final ScimConfiguration configuration
    • objectMapper

      protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • httpClient

      protected org.apache.hc.client5.http.impl.classic.CloseableHttpClient httpClient
    • oauth2TokenStore

      protected ScimOAuth2TokenStore oauth2TokenStore
    • responseCache

      protected ScimSimpleCache<com.fasterxml.jackson.databind.JsonNode> responseCache
  • Constructor Details

  • Method Details

    • checkConfiguration

      protected void checkConfiguration()
    • initializeHttpClient

      protected void initializeHttpClient()
    • createTrustAllSSLContext

      protected SSLContext createTrustAllSSLContext() throws NoSuchAlgorithmException, KeyManagementException
      Throws:
      NoSuchAlgorithmException
      KeyManagementException
    • searchUsers

      public com.fasterxml.jackson.databind.JsonNode searchUsers(String filter, int startIndex, int count, String sorting)
      Search for users using SCIM filter.
    • searchGroups

      public com.fasterxml.jackson.databind.JsonNode searchGroups(String filter, int startIndex, int count, String sorting)
      Search for groups using SCIM filter.
    • getUserByScimId

      public com.fasterxml.jackson.databind.JsonNode getUserByScimId(String scimId)
      Get a specific user by scim ID.
    • patchUserByScimId

      public com.fasterxml.jackson.databind.JsonNode patchUserByScimId(String scimId, com.fasterxml.jackson.databind.JsonNode patchBody)
      Patch a specific user by scim ID.
    • deleteUserByScimId

      public com.fasterxml.jackson.databind.JsonNode deleteUserByScimId(String scimId)
      Delete a specific user by scim ID.
    • getGroupByScimId

      public com.fasterxml.jackson.databind.JsonNode getGroupByScimId(String scimId)
      Get a specific group by scim ID.
    • patchGroupByScimId

      public com.fasterxml.jackson.databind.JsonNode patchGroupByScimId(String scimId, com.fasterxml.jackson.databind.JsonNode patchBody)
      Patch a specific group by scim ID.
    • deleteGroupByScimId

      public com.fasterxml.jackson.databind.JsonNode deleteGroupByScimId(String scimId)
      Delete a specific group by scim ID.
    • executeGet

      protected com.fasterxml.jackson.databind.JsonNode executeGet(String url)
    • executePost

      protected com.fasterxml.jackson.databind.JsonNode executePost(String url, com.fasterxml.jackson.databind.JsonNode postBody)
    • executeDel

      protected com.fasterxml.jackson.databind.JsonNode executeDel(String url)
    • executePatch

      protected com.fasterxml.jackson.databind.JsonNode executePatch(String url, com.fasterxml.jackson.databind.JsonNode patchBody)
    • executeHttpRequest

      protected com.fasterxml.jackson.databind.JsonNode executeHttpRequest(ScimClient.HttpMethod method, String url, com.fasterxml.jackson.databind.JsonNode body, boolean isRetry)
    • addAuthenticationHeader

      protected void addAuthenticationHeader(org.apache.hc.client5.http.classic.methods.HttpUriRequestBase request)
    • addCustomHeaders

      protected void addCustomHeaders(org.apache.hc.client5.http.classic.methods.HttpUriRequestBase request)
    • isOAuth2Authentication

      protected boolean isOAuth2Authentication()
    • ensureOAuth2Token

      protected void ensureOAuth2Token()
    • refreshOAuth2Token

      protected void refreshOAuth2Token()
    • checkUserPasswordWithOidc

      protected boolean checkUserPasswordWithOidc(String userName, String password)
    • checkUserWithSearchFilter

      protected boolean checkUserWithSearchFilter(String userId, String filter)
    • encodeUrlParameter

      protected String encodeUrlParameter(String param)
    • close

      public void close()