opensaml-2.5.0
|
Interface to SAML protocol binding message decoders. More...
#include <saml/binding/MessageDecoder.h>
Classes | |
class | ArtifactResolver |
Interface to caller-supplied artifact resolution mechanism. More... | |
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 =0 |
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 ArtifactResolver * | m_artifactResolver |
Pointer to an ArtifactResolver implementation. |
Interface to SAML protocol binding message decoders.
virtual xmltooling::XMLObject* opensaml::MessageDecoder::decode | ( | std::string & | relayState, |
const xmltooling::GenericRequest & | genericRequest, | ||
SecurityPolicy & | policy | ||
) | const [pure 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.
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. |
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.
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.
virtual const XMLCh* opensaml::MessageDecoder::getProtocolFamily | ( | ) | const [virtual] |
Returns identifier for the protocol family associated with the decoder.
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.
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.
artifactResolver | an ArtifactResolver implementation to use |
const ArtifactResolver* opensaml::MessageDecoder::m_artifactResolver [protected] |
Pointer to an ArtifactResolver implementation.