org.opensaml.saml2.binding.decoding
Class HTTPArtifactDecoder

java.lang.Object
  extended by org.opensaml.ws.message.decoder.BaseMessageDecoder
      extended by org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder
          extended by org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder
              extended by org.opensaml.saml2.binding.decoding.HTTPArtifactDecoder
All Implemented Interfaces:
SAMLMessageDecoder, MessageDecoder

public class HTTPArtifactDecoder
extends BaseSAML2MessageDecoder

SAML 2 Artifact Binding decoder, support both HTTP GET and POST. NOTE: This decoder is not yet implemented.


Field Summary
private  org.slf4j.Logger log
          Class logger.
 
Constructor Summary
HTTPArtifactDecoder(ParserPool pool)
          Constructor.
 
Method Summary
protected  void doDecode(MessageContext messageContext)
          
 String getBindingURI()
          Gets the SAML binding URI supported by this decoder.
protected  String getIntendedDestinationEndpointURI(SAMLMessageContext samlMsgCtx)
          Extract the message information which indicates to what receiver endpoint URI the SAML message was intended to be delivered.
protected  boolean isIntendedDestinationEndpointURIRequired(SAMLMessageContext samlMsgCtx)
          Determine whether the binding implemented by the decoder requires the presence within the message of information indicating the intended message destination endpoint URI.
protected  void processArtifact(SAMLMessageContext samlMsgCtx)
          Process the incoming artifact by decoding the artifacts, dereferencing it from the artifact issuer and storing the resulting protocol message in the message context.
 
Methods inherited from class org.opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder
decode, extractEntityId, extractRequestInfo, extractResponseInfo, populateMessageContext, populateMessageIdIssueInstantIssuer, populateRelyingPartyMetadata
 
Methods inherited from class org.opensaml.common.binding.decoding.BaseSAMLMessageDecoder
checkEndpointURI, compareEndpointURIs, getActualReceiverEndpointURI, getURIComparator, isMessageSigned, setURIComparator
 
Methods inherited from class org.opensaml.ws.message.decoder.BaseMessageDecoder
getParserPool, logDecodedMessage, processSecurityPolicy, setParserPool, unmarshallMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private final org.slf4j.Logger log
Class logger.

Constructor Detail

HTTPArtifactDecoder

public HTTPArtifactDecoder(ParserPool pool)
Constructor.

Parameters:
pool - parser pool used to deserialize messages
Method Detail

getBindingURI

public String getBindingURI()
Gets the SAML binding URI supported by this decoder.

Returns:
SAML binding URI supported by this decoder

isIntendedDestinationEndpointURIRequired

protected boolean isIntendedDestinationEndpointURIRequired(SAMLMessageContext samlMsgCtx)
Determine whether the binding implemented by the decoder requires the presence within the message of information indicating the intended message destination endpoint URI.

Specified by:
isIntendedDestinationEndpointURIRequired in class BaseSAMLMessageDecoder
Parameters:
samlMsgCtx - current SAML message context
Returns:
true if the intended message destination endpoint is required, false if not

getIntendedDestinationEndpointURI

protected String getIntendedDestinationEndpointURI(SAMLMessageContext samlMsgCtx)
                                            throws MessageDecodingException
Extract the message information which indicates to what receiver endpoint URI the SAML message was intended to be delivered.

This SAML 2-specific implementation extracts the value of the protocol message Destination attribute.

Overrides:
getIntendedDestinationEndpointURI in class BaseSAML2MessageDecoder
Parameters:
samlMsgCtx - the SAML message context being processed
Returns:
the value of the intended destination endpoint URI, or null if not present or empty
Throws:
MessageDecodingException - thrown if the message is not an instance of SAML message that could be processed by the decoder

doDecode

protected void doDecode(MessageContext messageContext)
                 throws MessageDecodingException

Specified by:
doDecode in class BaseMessageDecoder
Throws:
MessageDecodingException

processArtifact

protected void processArtifact(SAMLMessageContext samlMsgCtx)
                        throws MessageDecodingException
Process the incoming artifact by decoding the artifacts, dereferencing it from the artifact issuer and storing the resulting protocol message in the message context.

Parameters:
samlMsgCtx - current message context
Throws:
MessageDecodingException - thrown if there is a problem decoding or dereferencing the artifact


Copyright © 1999-2012. All Rights Reserved.