Interface SAML2SP4UIService

All Superinterfaces:
org.apache.syncope.common.rest.api.service.JAXRSService

@Path("saml2sp4ui/serviceProvider") public interface SAML2SP4UIService extends org.apache.syncope.common.rest.api.service.JAXRSService
REST operations for the provided SAML 2.0 SP4UI Service Provider.
  • Field Summary

    Fields inherited from interface org.apache.syncope.common.rest.api.service.JAXRSService

    CRLF, DOUBLE_DASH, PARAM_ANYTYPE_KIND, PARAM_ANYTYPEKEY, PARAM_CONNID_PAGED_RESULTS_COOKIE, PARAM_DETAILS, PARAM_ENTITY_KEY, PARAM_FIQL, PARAM_KEYWORD, PARAM_MAX, PARAM_NOTIFICATION, PARAM_ORDERBY, PARAM_PAGE, PARAM_REALM, PARAM_RECURSIVE, PARAM_RESOURCE, PARAM_SIZE, PARAM_USER
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.syncope.common.lib.saml2.SAML2Request
    createLoginRequest(String spEntityID, String urlContext, String idpEntityID, boolean reauth)
    Generates SAML 2.0 authentication request for the IdP matching the provided entity ID.
    org.apache.syncope.common.lib.saml2.SAML2Request
    createLogoutRequest(String spEntityID, String urlContext)
    Generates SAML 2.0 logout request for the IdP matching the requesting access token.
    jakarta.ws.rs.core.Response
    getMetadata(String spEntityID, String urlContext)
    Returns the XML metadata for the provided SAML 2.0 Service Provider.
    org.apache.syncope.common.lib.saml2.SAML2LoginResponse
    validateLoginResponse(org.apache.syncope.common.lib.saml2.SAML2Response response)
    Validates the received SAML 2.0 authentication response and creates JWT for the matching user, if found.
    void
    validateLogoutResponse(org.apache.syncope.common.lib.saml2.SAML2Response response)
    Validates the received SAML 2.0 logout response.
  • Method Details

    • getMetadata

      @GET @Produces("application/xml") jakarta.ws.rs.core.Response getMetadata(@QueryParam("spEntityID") String spEntityID, @QueryParam("urlContext") String urlContext)
      Returns the XML metadata for the provided SAML 2.0 Service Provider.
      Parameters:
      spEntityID - SAML 2.0 SP entity ID.
      urlContext - SAML 2.0 SP agent URL context
      Returns:
      XML metadata for the provided SAML 2.0 Service Provider
    • createLoginRequest

      @POST @Path("loginRequest") @Produces({"application/json","application/yaml","application/xml"}) org.apache.syncope.common.lib.saml2.SAML2Request createLoginRequest(@QueryParam("spEntityID") String spEntityID, @QueryParam("urlContext") String urlContext, @QueryParam("idpEntityID") String idpEntityID, @DefaultValue("false") @QueryParam("reauth") boolean reauth)
      Generates SAML 2.0 authentication request for the IdP matching the provided entity ID.
      Parameters:
      spEntityID - SAML 2.0 SP entity ID
      urlContext - SAML 2.0 SP agent URL context
      idpEntityID - SAML 2.0 IdP entity ID
      reauth - whether ForceAuthn shall be set on the request
      Returns:
      SAML 2.0 authentication request
    • validateLoginResponse

      @POST @Path("loginResponse") @Consumes({"application/json","application/yaml","application/xml"}) @Produces({"application/json","application/yaml","application/xml"}) org.apache.syncope.common.lib.saml2.SAML2LoginResponse validateLoginResponse(org.apache.syncope.common.lib.saml2.SAML2Response response)
      Validates the received SAML 2.0 authentication response and creates JWT for the matching user, if found.
      Parameters:
      response - SAML response and relay state
      Returns:
      JWT for the matching user plus attributes returned in the response
    • createLogoutRequest

      @POST @Path("logoutRequest") @Produces({"application/json","application/yaml","application/xml"}) org.apache.syncope.common.lib.saml2.SAML2Request createLogoutRequest(@QueryParam("spEntityID") String spEntityID, @QueryParam("urlContext") String urlContext)
      Generates SAML 2.0 logout request for the IdP matching the requesting access token.
      Parameters:
      spEntityID - SAML 2.0 SP entity ID.
      urlContext - SAML 2.0 SP agent URL context
      Returns:
      SAML 2.0 logout request
    • validateLogoutResponse

      @POST @Path("logoutResponse") @Consumes({"application/json","application/yaml","application/xml"}) @Produces({"application/json","application/yaml","application/xml"}) void validateLogoutResponse(org.apache.syncope.common.lib.saml2.SAML2Response response)
      Validates the received SAML 2.0 logout response.
      Parameters:
      response - SAML response and relay state