Class SAMLSOAPReceiver

  • All Implemented Interfaces:
    jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable

    public class SAMLSOAPReceiver
    extends jakarta.servlet.http.HttpServlet
    This class defines a SOAP Receiver which supports SOAP over HTTP binding. It's the receiver of SAML requests from external parties for any authentication ,authorization or attribute information for a Subject. Its response which is an Assertion is used by the caller to enable an SSO solution or allow access to resource based on the Statement contained in the assertion sent by it. It supports the following functions:
     1- Accepts an artifact request and returns corresponding assertion.
     2- Accepts assertion id request and returns corresponding assertion.
     3- accept the authentication query and return authentication assertion.
     4- Accept authorization query and return authorization decision assertion.
     5- Accept attribute query and return attribute assertion.
     
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String localSAMLServiceID
      When initialized it represents ID of the local server.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static Set checkCaller​(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp)
      Protected method to check the caller to the servlet.
      void doPost​(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse resp)
      Processes request coming from SOAP.
      void init​(jakarta.servlet.ServletConfig config)
      Initializes the servlet.
      • Methods inherited from class jakarta.servlet.http.HttpServlet

        doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service
      • Methods inherited from class jakarta.servlet.GenericServlet

        destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
    • Field Detail

      • localSAMLServiceID

        public static String localSAMLServiceID
        When initialized it represents ID of the local server. It has the format of server_protocol://server_host:server_port. It is used to identify whether the system is in server mode or client mode.
    • Constructor Detail

      • SAMLSOAPReceiver

        public SAMLSOAPReceiver()
    • Method Detail

      • init

        public void init​(jakarta.servlet.ServletConfig config)
                  throws jakarta.servlet.ServletException
        Initializes the servlet.
        Specified by:
        init in interface jakarta.servlet.Servlet
        Overrides:
        init in class jakarta.servlet.GenericServlet
        Parameters:
        config - ServletConfig object.
        Throws:
        jakarta.servlet.ServletException - if error occurred during initialization.
      • doPost

        public void doPost​(jakarta.servlet.http.HttpServletRequest req,
                           jakarta.servlet.http.HttpServletResponse resp)
                    throws jakarta.servlet.ServletException,
                           IOException
        Processes request coming from SOAP.
        Overrides:
        doPost in class jakarta.servlet.http.HttpServlet
        Parameters:
        req - HttpServletRequest object.
        resp - HttpServletResponse object.
        Throws:
        jakarta.servlet.ServletException - if there is an error.
        IOException - if there is an error.
      • checkCaller

        protected static Set checkCaller​(jakarta.servlet.http.HttpServletRequest req,
                                         jakarta.servlet.http.HttpServletResponse resp)
                                  throws jakarta.servlet.ServletException
        Protected method to check the caller to the servlet. Returns a set of sourceid whose hostlist contains the passed in certificate's nick name or HttpServletRequest's remote IP address if valid. Else null is returned.
        Throws:
        jakarta.servlet.ServletException