org.opensaml.saml1.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.saml1.binding.decoding.BaseSAML1MessageDecoder
              extended by org.opensaml.saml1.binding.decoding.HTTPArtifactDecoder
All Implemented Interfaces:
SAMLMessageDecoder, MessageDecoder

public class HTTPArtifactDecoder
extends BaseSAML1MessageDecoder

SAML 1.X HTTP Artifact message decoder. NOTE: This decoder is not yet implemented.


Field Summary
private  org.slf4j.Logger log
          Class logger.
 
Constructor Summary
HTTPArtifactDecoder(SAMLArtifactMap map, ParserPool pool)
          Constructor.
 
Method Summary
protected  void decodeTarget(SAMLMessageContext samlMsgCtx)
          Decodes the TARGET parameter and adds it to the message context.
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 processArtifacts(SAMLMessageContext samlMsgCtx)
          Process the incoming artifacts by decoding the artifacts, dereferencing them from the artifact source and storing the resulting response (with assertions) in the message context.
 
Methods inherited from class org.opensaml.saml1.binding.decoding.BaseSAML1MessageDecoder
decode, extractAssertionArtifactInfo, extractAttributeQueryInfo, extractAuthorizationDecisionQueryInfo, extractRequestInfo, extractResponseInfo, getArtifactMap, getUseQueryResourceAsEntityId, populateMessageContext, populateMessageIdIssueInstantIssuer, populateRelyingPartyMetadata, setUseQueryResourceAsEntityId
 
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(SAMLArtifactMap map,
                           ParserPool pool)
Constructor.

Parameters:
map - used to map artifacts to SAML
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

doDecode

protected void doDecode(MessageContext messageContext)
                 throws MessageDecodingException

Specified by:
doDecode in class BaseMessageDecoder
Throws:
MessageDecodingException

decodeTarget

protected void decodeTarget(SAMLMessageContext samlMsgCtx)
                     throws MessageDecodingException
Decodes the TARGET parameter and adds it to the message context.

Parameters:
samlMsgCtx - current message context
Throws:
MessageDecodingException - thrown if there is a problem decoding the TARGET parameter.

processArtifacts

protected void processArtifacts(SAMLMessageContext samlMsgCtx)
                         throws MessageDecodingException
Process the incoming artifacts by decoding the artifacts, dereferencing them from the artifact source and storing the resulting response (with assertions) in the message context.

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

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 1-specific implementation extracts the value of the ResponseAbstractType protocol message Recipient attribute.

Overrides:
getIntendedDestinationEndpointURI in class BaseSAML1MessageDecoder
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


Copyright © 1999-2012. All Rights Reserved.