opensaml::MessageDecoder::ArtifactResolver Class Referenceabstract

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

`#include <saml/binding/MessageDecoder.h>`

## Public Member Functions

virtual saml1p::Response * | resolve (const std::vector< SAMLArtifact * > &artifacts, const saml2md::IDPSSODescriptor &idpDescriptor, SecurityPolicy &policy) const =0
| Resolves one or more SAML 1.x artifacts into a response containing a set of resolved Assertions.
virtual saml2p::ArtifactResponse * | resolve (const saml2p::SAML2Artifact &artifact, const saml2md::SSODescriptorType &ssoDescriptor, SecurityPolicy &policy) const =0
| Resolves a SAML 2.0 artifact into the corresponding SAML protocol message.
virtual bool | isSupported (const saml2md::SSODescriptorType &ssoDescriptor) const
| Returns true iff the metadata provided includes a supported artifact resolution service.

## Detailed Description

Interface to caller-supplied artifact resolution mechanism.

Resolving artifacts requires internally performing a SOAP-based call to the artifact source, usually in a mutually authenticated fashion. The potential options vary widely, so the work is encapsulated by this interface, though of course other library facilities may be used.

A MessageDecoder implementation will invoke the supplied interface when it requires an artifact be resolved.

## Member Function Documentation

## isSupported()

virtual bool opensaml::MessageDecoder::ArtifactResolver::isSupported | ( | const saml2md::SSODescriptorType & | ssoDescriptor | ) | const

virtual

Returns true iff the metadata provided includes a supported artifact resolution service.

Parameters

  ssoDescriptor | reference to SSO role of artifact issuer (may be SP or IdP)

Returns
  true iff the artifact issuer offers endpoints supported by this resolver

## resolve() [1/2]

virtual saml2p::ArtifactResponse * opensaml::MessageDecoder::ArtifactResolver::resolve | ( | const saml2p::SAML2Artifact & | artifact,
|  | const saml2md::SSODescriptorType & | ssoDescriptor,
|  | SecurityPolicy & | policy ) const

pure virtual

Resolves a SAML 2.0 artifact into the corresponding SAML protocol message.

The caller is responsible for the resulting ArtifactResponse message. The supplied SecurityPolicy is used to access caller-supplied infrastructure and to pass back the result of authenticating the resolution process.

Parameters

  artifact | reference to a SAML 2.0 artifact
  ssoDescriptor | reference to SSO role of artifact issuer (may be SP or IdP)
  policy | reference to policy containing rules, MetadataProvider, TrustEngine, etc.

Returns
  the corresponding SAML protocol message or nullptr

## resolve() [2/2]

virtual saml1p::Response * opensaml::MessageDecoder::ArtifactResolver::resolve | ( | const std::vector< SAMLArtifact * > & | artifacts,
|  | const saml2md::IDPSSODescriptor & | idpDescriptor,
|  | SecurityPolicy & | policy ) const

pure virtual

Resolves one or more SAML 1.x artifacts into a response containing a set of resolved Assertions.

The caller is responsible for the resulting Response. The supplied SecurityPolicy is used to access caller-supplied infrastructure and to pass back the result of authenticating the resolution process.

Parameters

  artifacts | one or more SAML 1.x artifacts
  idpDescriptor | reference to IdP role of artifact issuer
  policy | reference to policy containing rules, MetadataProvider, TrustEngine, etc.

Returns
  the corresponding SAML Assertions wrapped in a Response.

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

- saml/binding/MessageDecoder.h