opensaml::MessageDecoder Class Reference

Interface to SAML protocol binding message decoders. More...

#include <saml/binding/MessageDecoder.h>

Inheritance diagram for opensaml::MessageDecoder:

opensaml::saml1p::SAML1MessageDecoder opensaml::saml2p::SAML2MessageDecoder

List of all members.

Public Member Functions

virtual const XMLCh * getProtocolFamily () const
 Returns identifier for the protocol family associated with the decoder.
virtual bool isUserAgentPresent () const
 Indicates whether a web browser or similar user agent delivered the message.
void setArtifactResolver (const ArtifactResolver *artifactResolver)
 Provides an ArtifactResolver implementation for the MessageDecoder to use.
virtual xmltooling::XMLObject * decode (std::string &relayState, const xmltooling::GenericRequest &genericRequest, SecurityPolicy &policy) const
 
virtual xmltooling::XMLObject * decode (std::string &relayState, const xmltooling::GenericRequest &genericRequest, xmltooling::GenericResponse *genericResponse, SecurityPolicy &policy) const
 Decodes a transport request into a SAML protocol message, and evaluates it against a supplied SecurityPolicy.

Protected Member Functions

virtual void extractMessageDetails (const xmltooling::XMLObject &message, const xmltooling::GenericRequest &request, const XMLCh *protocol, SecurityPolicy &policy) const =0
 Extracts policy-relevant message details.

Protected Attributes

const ArtifactResolverm_artifactResolver
 Pointer to an ArtifactResolver implementation.

Classes

class  ArtifactResolver
 Interface to caller-supplied artifact resolution mechanism. More...


Detailed Description

Interface to SAML protocol binding message decoders.

Member Function Documentation

virtual const XMLCh* opensaml::MessageDecoder::getProtocolFamily (  )  const [virtual]

Returns identifier for the protocol family associated with the decoder.

Returns:
a protocol family identifier, or nullptr

Reimplemented in opensaml::saml1p::SAML1MessageDecoder, and opensaml::saml2p::SAML2MessageDecoder.

virtual bool opensaml::MessageDecoder::isUserAgentPresent (  )  const [virtual]

Indicates whether a web browser or similar user agent delivered the message.

Returns:
true iff the message was delivered by a user agent

void opensaml::MessageDecoder::setArtifactResolver ( const ArtifactResolver artifactResolver  ) 

Provides an ArtifactResolver implementation for the MessageDecoder to use.

The implementation's lifetime must be longer than the lifetime of this object. This method must be externally synchronized.

Parameters:
artifactResolver an ArtifactResolver implementation to use

virtual xmltooling::XMLObject* opensaml::MessageDecoder::decode ( std::string &  relayState,
const xmltooling::GenericRequest &  genericRequest,
SecurityPolicy policy 
) const [virtual]

The future version is the variant below that also takes a response object.

Parameters:
relayState will be set to RelayState/TARGET value accompanying message
genericRequest reference to interface for accessing transport request to decode
policy reference to policy containing rules, MetadataProvider, TrustEngine, etc.
Returns:
the decoded message, or nullptr if the decoder did not recognize the request content

virtual xmltooling::XMLObject* opensaml::MessageDecoder::decode ( std::string &  relayState,
const xmltooling::GenericRequest &  genericRequest,
xmltooling::GenericResponse *  genericResponse,
SecurityPolicy policy 
) const [virtual]

Decodes a transport request into a SAML protocol message, and evaluates it against a supplied SecurityPolicy.

If the transport request does not contain the information necessary to decode the request, nullptr will be returned. Errors during the decoding process will be raised as exceptions.

Artifact-based bindings require an ArtifactResolver be set to turn an artifact into the corresponding message.

Parameters:
relayState will be set to RelayState/TARGET value accompanying message
genericRequest reference to interface for accessing transport request to decode
genericResponse optional interface for accessing transport response
policy reference to policy containing rules, MetadataProvider, TrustEngine, etc.
Returns:
the decoded message, or nullptr if the decoder did not recognize the request content

virtual void opensaml::MessageDecoder::extractMessageDetails ( const xmltooling::XMLObject &  message,
const xmltooling::GenericRequest &  request,
const XMLCh *  protocol,
SecurityPolicy policy 
) const [protected, pure virtual]

Extracts policy-relevant message details.

Parameters:
message the incoming message
request the protocol request
protocol the protocol family in use
policy SecurityPolicy to provide various components and track message data

Implemented in opensaml::saml1p::SAML1MessageDecoder, and opensaml::saml2p::SAML2MessageDecoder.


Member Data Documentation

Pointer to an ArtifactResolver implementation.


The documentation for this class was generated from the following file:

Generated on Mon Apr 13 19:46:40 2020 for opensaml-3.1.0 by  doxygen 1.5.6