Class HTTPArtifactEncoder

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, UnmodifiableComponent, MessageEncoder, HttpServletResponseMessageEncoder, SAMLMessageEncoder

public class HTTPArtifactEncoder extends BaseSAML1MessageEncoder
SAML 1.X HTTP Artifact message encoder.
  • Field Details

    • log

      @Nonnull private final org.slf4j.Logger log
      Class logger.
    • artifactMap

      @NonnullAfterInit private SAMLArtifactMap artifactMap
      SAML artifact map used to store created artifacts for later retrival.
    • defaultArtifactType

      @Nonnull @NotEmpty private byte[] defaultArtifactType
      Default artifact type to use when encoding messages.
  • Constructor Details

    • HTTPArtifactEncoder

      public HTTPArtifactEncoder()
      Constructor.
  • Method Details

    • getBindingURI

      public String getBindingURI()
      Gets the SAML binding URI supported by this encoder.
      Returns:
      SAML binding URI supported by this encoder
    • getArtifactMap

      @NonnullAfterInit public SAMLArtifactMap getArtifactMap()
      Get the SAML artifact map to use.
      Returns:
      the artifactMap.
    • setArtifactMap

      public void setArtifactMap(@Nonnull SAMLArtifactMap newArtifactMap)
      Set the SAML artifact map to use.
      Parameters:
      newArtifactMap - the new artifactMap
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractHttpServletResponseMessageEncoder
      Throws:
      ComponentInitializationException
    • doDestroy

      protected void doDestroy()
      Overrides:
      doDestroy in class AbstractHttpServletResponseMessageEncoder
    • doEncode

      protected void doEncode() throws MessageEncodingException
      Performs the encoding logic. By the time this is called, this encoder has already been initialized and checked to ensure that it has not been destroyed.
      Specified by:
      doEncode in class AbstractMessageEncoder
      Throws:
      MessageEncodingException - thrown if there is a problem encoding the message
    • getOutboundMessageIssuer

      @Nullable private String getOutboundMessageIssuer(@Nonnull MessageContext messageContext)
      Get the outbound message issuer.
      Parameters:
      messageContext - the message context
      Returns:
      the outbound message issuer
    • getInboundMessageIssuer

      @Nullable private String getInboundMessageIssuer(@Nonnull MessageContext messageContext)
      Get the requester.
      Parameters:
      messageContext - the message context
      Returns:
      the requester
    • storeSAMLArtifactType

      private void storeSAMLArtifactType(@Nonnull MessageContext messageContext, @Nonnull @NotEmpty byte[] artifactType)
      Store the SAML artifact type in the message context.
      Parameters:
      messageContext - the message context
      artifactType - the artifact type to store
    • getSAMLArtifactType

      @Nullable private byte[] getSAMLArtifactType(@Nonnull MessageContext messageContext)
      Get the SAML artifact type from the message context.
      Parameters:
      messageContext - the message context
      Returns:
      the artifact type