Class LogoutResponse

java.lang.Object
org.codelibs.saml2.core.logout.LogoutResponse

public class LogoutResponse extends Object
LogoutResponse class of Java Toolkit. A class that implements SAML 2 Logout Response builder/parser/validator
  • Constructor Details

    • LogoutResponse

      public LogoutResponse(Saml2Settings settings, HttpRequest request)
      Constructs the LogoutResponse object when a received response should be extracted from the HTTP request and parsed.
      Parameters:
      settings - OneLogin_Saml2_Settings
      request - the HttpRequest object to be processed (Contains GET and POST parameters, request URL, ...); may be null when building an outgoing logout response
    • LogoutResponse

      public LogoutResponse(Saml2Settings settings, LogoutResponseParams params)
      Constructs the LogoutResponse object when a new response should be generated and sent.
      Parameters:
      settings - OneLogin_Saml2_Settings
      params - a set of logout response input parameters that shape the request to create
  • Method Details

    • getEncodedLogoutResponse

      public String getEncodedLogoutResponse(Boolean deflated)
      Parameters:
      deflated - If deflated or not the encoded Logout Response
      Returns:
      the base64 encoded unsigned Logout Response (deflated or not)
    • getEncodedLogoutResponse

      public String getEncodedLogoutResponse()
      Returns:
      the base64 encoded, unsigned Logout Response (deflated or not)
    • getLogoutResponseXml

      public String getLogoutResponseXml()
      Returns:
      the plain XML Logout Response
    • getId

      public String getId()
      Returns:
      the ID of the Response
    • isValid

      public boolean isValid(String requestId)
      Determines if the SAML LogoutResponse is valid
      Parameters:
      requestId - The ID of the LogoutRequest sent by this SP to the IdP
      Returns:
      if the SAML LogoutResponse is or not valid
    • isValid

      public boolean isValid()
    • getIssuer

      public String getIssuer()
      Gets the Issuer from Logout Response.
      Returns:
      the issuer of the logout response
    • getStatus

      public String getStatus()
      Gets the Status of the Logout Response.
      Returns:
      the Status
    • getSamlResponseStatus

      public SamlResponseStatus getSamlResponseStatus()
      Gets the Status of the Logout Response.
      Returns:
      SamlResponseStatus
    • query

      protected NodeList query(String query)
      Extracts nodes that match the query from the DOMDocument (Logout Response Menssage)
      Parameters:
      query - Xpath Expression
      Returns:
      DOMNodeList The queried nodes
    • build

      @Deprecated public void build(String inResponseTo, SamlResponseStatus responseStatus)
      Deprecated.
      use LogoutResponse(Saml2Settings, LogoutResponseParams) instead, in which case this method becomes completely useless; indeed, invoking this method in an outgoing logout response scenario will cause the response parameters specified at construction time (inResponseTo and responseStatus) to be overwritten, as well as its generated id and issue instant; on the other hand invoking this method in a received logout response scenario does not make sense at all (and in that case LogoutResponse(Saml2Settings, HttpRequest) should be used instead)
      Generates a Logout Response XML string.
      Parameters:
      inResponseTo - InResponseTo attribute value to bet set at the Logout Response.
      responseStatus - SamlResponseStatus response status to be set on the LogoutResponse
    • build

      @Deprecated public void build(String inResponseTo, String statusCode)
      Deprecated.
      use LogoutResponse(Saml2Settings, LogoutResponseParams) instead, in which case this method becomes completely useless; indeed, invoking this method in an outgoing logout response scenario will cause the response parameters specified at construction time (inResponseTo and responseStatus) to be overwritten, as well as its generated id and issue instant; on the other hand invoking this method in a received logout response scenario does not make sense at all (and in that case LogoutResponse(Saml2Settings, HttpRequest) should be used instead)
      Generates a Logout Response XML string.
      Parameters:
      inResponseTo - InResponseTo attribute value to bet set at the Logout Response.
      statusCode - String StatusCode to be set on the LogoutResponse
    • build

      @Deprecated public void build(String inResponseTo)
      Deprecated.
      use LogoutResponse(Saml2Settings, LogoutResponseParams) instead, in which case this method becomes completely useless; indeed, invoking this method in an outgoing logout response scenario will cause the response parameters specified at construction time (inResponseTo and responseStatus) to be overwritten, as well as its generated id and issue instant; on the other hand invoking this method in a received logout response scenario does not make sense at all (and in that case LogoutResponse(Saml2Settings, HttpRequest) should be used instead)
      Generates a Logout Response XML string.
      Parameters:
      inResponseTo - InResponseTo attribute value to bet set at the Logout Response.
    • build

      @Deprecated public void build()
      Deprecated.
      use LogoutResponse(Saml2Settings, LogoutResponseParams) instead, in which case this method becomes completely useless; indeed, invoking this method in an outgoing logout response scenario will cause the response parameters specified at construction time (inResponseTo and responseStatus) to be overwritten, as well as its generated id and issue instant; on the other hand invoking this method in a received logout response scenario does not make sense at all (and in that case LogoutResponse(Saml2Settings, HttpRequest) should be used instead)
      Generates a Logout Response XML string.
    • postProcessXml

      protected String postProcessXml(String logoutResponseXml, LogoutResponseParams params, Saml2Settings settings)
      Allows for an extension class to post-process the LogoutResponse XML generated for this response, in order to customize the result.

      This method is invoked by build(String, String) (and all of its overloadings) and hence only in the logout response sending scenario. Its default implementation simply returns the input XML as-is, with no change.

      Parameters:
      logoutResponseXml - the XML produced for this LogoutResponse by the standard implementation provided by LogoutResponse
      params - the logout request input parameters
      settings - the settings
      Returns:
      the post-processed XML for this LogoutResponse, which will then be returned by any call to getLogoutResponseXml()
    • getError

      public String getError()
      After execute a validation process, if fails this method returns the cause
      Returns:
      the cause of the validation error
    • getValidationException

      public Exception getValidationException()
      After execute a validation process, if fails this method returns the Exception object
      Returns:
      the cause of the validation error
    • setValidationException

      protected void setValidationException(Exception validationException)
      Sets the validation exception that this LogoutResponse should return when a validation error occurs.
      Parameters:
      validationException - the validation exception to set
    • getIssueInstant

      public Calendar getIssueInstant()
      Returns the issue instant of this message.
      Returns:
      a new Calendar instance carrying the issue instant of this message