Class HTTPPostDecoder
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.messaging.decoder.AbstractMessageDecoder
org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
org.opensaml.saml.saml2.binding.decoding.impl.HTTPPostDecoder
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,UnmodifiableComponent
,MessageDecoder
,HttpServletRequestMessageDecoder
,SAMLMessageDecoder
- Direct Known Subclasses:
HTTPPostSimpleSignDecoder
public class HTTPPostDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder
Message decoder implementing the SAML 2.0 HTTP POST binding.
-
Field Summary
Fields Modifier and Type Field Description private BindingDescriptor
bindingDescriptor
OptionalBindingDescriptor
to inject intoSAMLBindingContext
created.private org.slf4j.Logger
log
Class logger. -
Constructor Summary
Constructors Constructor Description HTTPPostDecoder()
-
Method Summary
Modifier and Type Method Description protected void
doDecode()
Performs the decoding logic.protected InputStream
getBase64DecodedMessage(javax.servlet.http.HttpServletRequest request)
Gets the Base64 encoded message from the request and decodes it.BindingDescriptor
getBindingDescriptor()
Get an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.String
getBindingURI()
Gets the SAML binding URI supported by this decoder.protected void
populateBindingContext(MessageContext messageContext)
Populate the context which carries information specific to this binding.void
setBindingDescriptor(BindingDescriptor descriptor)
Set an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.Methods inherited from class org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder
decode, doDestroy, doInitialize, getMessageToLog, getParserPool, logDecodedMessage, setParserPool, unmarshallMessage, validateHttpRequest
Methods inherited from class org.opensaml.messaging.decoder.servlet.AbstractHttpServletRequestMessageDecoder
getHttpServletRequest, setHttpServletRequest
Methods inherited from class org.opensaml.messaging.decoder.AbstractMessageDecoder
getMessageContext, setMessageContext
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
Methods inherited from interface org.opensaml.messaging.decoder.MessageDecoder
decode, getMessageContext
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
bindingDescriptor
OptionalBindingDescriptor
to inject intoSAMLBindingContext
created.
-
-
Constructor Details
-
HTTPPostDecoder
public HTTPPostDecoder()
-
-
Method Details
-
getBindingURI
Gets the SAML binding URI supported by this decoder.- Specified by:
getBindingURI
in interfaceSAMLMessageDecoder
- Returns:
- SAML binding URI supported by this decoder
-
getBindingDescriptor
Get an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.- Returns:
- binding descriptor
-
setBindingDescriptor
Set an optionalBindingDescriptor
to inject intoSAMLBindingContext
created.- Parameters:
descriptor
- a binding descriptor
-
doDecode
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 classAbstractMessageDecoder
- Throws:
MessageDecodingException
- thrown if there is a problem decoding the message
-
getBase64DecodedMessage
protected InputStream getBase64DecodedMessage(javax.servlet.http.HttpServletRequest request) throws MessageDecodingExceptionGets the Base64 encoded message from the request and decodes it.- Parameters:
request
- the inbound HTTP servlet request- Returns:
- decoded message
- Throws:
MessageDecodingException
- thrown if the message does not contain a base64 encoded SAML message, or the message can not be base64-decoded.
-
populateBindingContext
Populate the context which carries information specific to this binding.- Parameters:
messageContext
- the current message context
-