Class HTTPRedirectDeflateDecoder

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, UnmodifiableComponent, MessageDecoder, HttpServletRequestMessageDecoder, SAMLMessageDecoder

public class HTTPRedirectDeflateDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder
SAML 2.0 HTTP Redirect decoder using the DEFLATE encoding method. This decoder only supports DEFLATE compression.
  • Field Details

  • Constructor Details

    • HTTPRedirectDeflateDecoder

      public HTTPRedirectDeflateDecoder()
  • Method Details

    • getBindingURI

      @Nonnull @NotEmpty public String getBindingURI()
      Gets the SAML binding URI supported by this decoder.
      Specified by:
      getBindingURI in interface SAMLMessageDecoder
      Returns:
      SAML binding URI supported by this decoder
    • getBindingDescriptor

      @Nullable public BindingDescriptor getBindingDescriptor()
      Get an optional BindingDescriptor to inject into SAMLBindingContext created.
      Returns:
      binding descriptor
    • setBindingDescriptor

      public void setBindingDescriptor(@Nullable BindingDescriptor descriptor)
      Set an optional BindingDescriptor to inject into SAMLBindingContext created.
      Parameters:
      descriptor - a binding descriptor
    • doDecode

      protected void doDecode() throws MessageDecodingException
      Performs the decoding logic. By the time this is called, this decoder has already been initialized and checked to ensure that it has not been destroyed.
      Specified by:
      doDecode in class AbstractMessageDecoder
      Throws:
      MessageDecodingException - thrown if there is a problem decoding the message
    • decodeMessage

      protected InputStream decodeMessage(String message) throws MessageDecodingException
      Base64 decodes the SAML message and then decompresses the message.
      Parameters:
      message - Base64 encoded, DEFALTE compressed, SAML message
      Returns:
      the SAML message
      Throws:
      MessageDecodingException - thrown if the message can not be decoded
    • populateBindingContext

      protected void populateBindingContext(MessageContext messageContext)
      Populate the context which carries information specific to this binding.
      Parameters:
      messageContext - the current message context