shibsp::XMLApplication Class Reference

Inheritance diagram for shibsp::XMLApplication:
shibsp::Application shibsp::Remoted shibsp::DOMPropertySet shibsp::PropertySet shibsp::PropertySet

List of all members.

Public Member Functions

 XMLApplication (const ServiceProvider *, const ProtocolProvider *, xercesc::DOMElement *, bool deprecationSupport, const XMLApplication *base=nullptr, xercesc::DOMDocument *doc=nullptr)
const char * getHash () const
 Returns a unique hash for the Application.
opensaml::SAMLArtifact * generateSAML1Artifact (const opensaml::saml2md::EntityDescriptor *relyingParty) const
opensaml::saml2p::SAML2Artifact * generateSAML2Artifact (const opensaml::saml2md::EntityDescriptor *relyingParty) const
opensaml::saml2md::MetadataProvider * getMetadataProvider (bool required=true) const
 Returns a MetadataProvider for use with this Application.
xmltooling::TrustEngine * getTrustEngine (bool required=true) const
 Returns a TrustEngine for use with this Application.
AttributeExtractor * getAttributeExtractor () const
 Returns an AttributeExtractor for use with this Application.
AttributeFilter * getAttributeFilter () const
 Returns an AttributeFilter for use with this Application.
AttributeResolver * getAttributeResolver () const
 Returns an AttributeResolver for use with this Application.
xmltooling::CredentialResolver * getCredentialResolver () const
 Returns the CredentialResolver instance associated with this Application.
const PropertySet * getRelyingParty (const opensaml::saml2md::EntityDescriptor *provider) const
 Returns configuration properties governing security interactions with a peer.
const PropertySet * getRelyingParty (const XMLCh *entityID) const
 Returns configuration properties governing security interactions with a named peer.
const std::vector< const XMLCh * > * getAudiences () const
std::pair< bool, const char * > getString (const char *name, const char *ns=nullptr) const
 Returns a string-valued property.
std::pair< bool, const XMLCh * > getXMLString (const char *name, const char *ns=nullptr) const
 Returns a Unicode string-valued property.
std::string getNotificationURL (const char *resource, bool front, unsigned int index) const
 Returns the designated notification URL, or an empty string if no more locations are specified.
const std::vector< std::string > & getRemoteUserAttributeIds () const
 Returns an array of attribute IDs to use as a REMOTE_USER value, in order of preference.
void clearHeader (SPRequest &request, const char *rawname, const char *cginame) const
 Ensures no value exists for a request header, allowing for application-specific customization.
void setHeader (SPRequest &request, const char *name, const char *value) const
 Sets a value for a request header allowing for application-specific customization.
std::string getSecureHeader (const SPRequest &request, const char *name) const
 Returns a non-spoofable request header value allowing for application-specific customization.
const SessionInitiator * getDefaultSessionInitiator () const
 Returns the default SessionInitiator when automatically requesting a session.
const SessionInitiator * getSessionInitiatorById (const char *id) const
 Returns a SessionInitiator with a particular ID when automatically requesting a session.
const Handler * getDefaultAssertionConsumerService () const
 Returns the default AssertionConsumerService Handler for use in AuthnRequest messages.
const Handler * getAssertionConsumerServiceByIndex (unsigned short index) const
 Returns an AssertionConsumerService Handler with a particular index for use in AuthnRequest messages.
const Handler * getAssertionConsumerServiceByProtocol (const XMLCh *protocol, const char *binding=nullptr) const
 Returns an AssertionConsumerService Handler that supports a particular protocol "family" and optional binding.
const Handler * getHandler (const char *path) const
 Returns the Handler associated with a particular path/location.
void getHandlers (std::vector< const Handler * > &handlers) const
 Returns all registered Handlers.
void limitRedirect (const xmltooling::GenericRequest &request, const char *url) const
 Checks a proposed redirect URL against application-specific settings for legal redirects, such as same-host restrictions or whitelisted domains, and raises a SecurityPolicyException in the event of a violation.
void receive (DDF &in, std::ostream &out)
 Remoted classes implement this method to process incoming messages.
xercesc::DOMNodeFilter::FilterAction acceptNode (const xercesc::DOMNode *node) const

Member Function Documentation

void shibsp::XMLApplication::clearHeader ( SPRequest &  request,
const char *  rawname,
const char *  cginame 
) const [virtual]

Ensures no value exists for a request header, allowing for application-specific customization.

Parameters:
request SP request to modify
rawname raw name of header to clear
cginame CGI-equivalent name of header, MUST begin with "HTTP_".

Reimplemented from shibsp::Application.

const Handler* shibsp::XMLApplication::getAssertionConsumerServiceByIndex ( unsigned short  index  )  const [virtual]

Returns an AssertionConsumerService Handler with a particular index for use in AuthnRequest messages.

Parameters:
index an index unique to an application
Returns:
the designated AssertionConsumerService, or nullptr

Implements shibsp::Application.

const Handler* shibsp::XMLApplication::getAssertionConsumerServiceByProtocol ( const XMLCh *  protocol,
const char *  binding = nullptr 
) const [virtual]

Returns an AssertionConsumerService Handler that supports a particular protocol "family" and optional binding.

Parameters:
protocol a protocol identifier
binding a binding identifier
Returns:
a matching AssertionConsumerService, or nullptr

Implements shibsp::Application.

AttributeExtractor* shibsp::XMLApplication::getAttributeExtractor (  )  const [inline, virtual]

Returns an AttributeExtractor for use with this Application.

Returns:
an AttributeExtractor, or nullptr

Implements shibsp::Application.

AttributeFilter* shibsp::XMLApplication::getAttributeFilter (  )  const [inline, virtual]

Returns an AttributeFilter for use with this Application.

Returns:
an AttributeFilter, or nullptr

Implements shibsp::Application.

AttributeResolver* shibsp::XMLApplication::getAttributeResolver (  )  const [inline, virtual]

Returns an AttributeResolver for use with this Application.

Returns:
an AttributeResolver, or nullptr

Implements shibsp::Application.

const std::vector<const XMLCh*>* shibsp::XMLApplication::getAudiences (  )  const [inline, virtual]
Deprecated:
Returns any additional audience values associated with this Application.
Returns:
additional audience values associated with the Application, or nullptr

Implements shibsp::Application.

xmltooling::CredentialResolver* shibsp::XMLApplication::getCredentialResolver (  )  const [inline, virtual]

Returns the CredentialResolver instance associated with this Application.

Returns:
a CredentialResolver, or nullptr

Implements shibsp::Application.

const Handler* shibsp::XMLApplication::getDefaultAssertionConsumerService (  )  const [virtual]

Returns the default AssertionConsumerService Handler for use in AuthnRequest messages.

Returns:
the default AssertionConsumerService, or nullptr

Implements shibsp::Application.

const SessionInitiator* shibsp::XMLApplication::getDefaultSessionInitiator (  )  const [virtual]

Returns the default SessionInitiator when automatically requesting a session.

Returns:
the default SessionInitiator, or nullptr

Implements shibsp::Application.

const Handler* shibsp::XMLApplication::getHandler ( const char *  path  )  const [virtual]

Returns the Handler associated with a particular path/location.

Parameters:
path the PATH_INFO appended to the end of a base Handler location that invokes the Handler
Returns:
the mapped Handler, or nullptr

Implements shibsp::Application.

void shibsp::XMLApplication::getHandlers ( std::vector< const Handler * > &  handlers  )  const [virtual]

Returns all registered Handlers.

Parameters:
handlers array to populate

Implements shibsp::Application.

const char* shibsp::XMLApplication::getHash (  )  const [inline, virtual]

Returns a unique hash for the Application.

Returns:
a value resulting from a computation over the Application's configuration

Implements shibsp::Application.

opensaml::saml2md::MetadataProvider* shibsp::XMLApplication::getMetadataProvider ( bool  required = true  )  const [inline, virtual]

Returns a MetadataProvider for use with this Application.

Parameters:
required true iff an exception should be thrown if no MetadataProvider is available
Returns:
a MetadataProvider instance, or nullptr

Implements shibsp::Application.

std::string shibsp::XMLApplication::getNotificationURL ( const char *  request,
bool  front,
unsigned int  index 
) const [virtual]

Returns the designated notification URL, or an empty string if no more locations are specified.

Parameters:
request requested URL to use to fill in missing pieces of notification URL
front true iff front channel notification is desired, false iff back channel is desired
index zero-based index of URL to return
Returns:
the designated URL, or an empty string

Implements shibsp::Application.

const PropertySet* shibsp::XMLApplication::getRelyingParty ( const XMLCh *  entityID  )  const [virtual]

Returns configuration properties governing security interactions with a named peer.

Parameters:
entityID a peer name
Returns:
the applicable PropertySet

Implements shibsp::Application.

const PropertySet* shibsp::XMLApplication::getRelyingParty ( const opensaml::saml2md::EntityDescriptor *  provider  )  const [virtual]

Returns configuration properties governing security interactions with a peer.

Parameters:
provider a peer entity's metadata
Returns:
the applicable PropertySet

Implements shibsp::Application.

const std::vector<std::string>& shibsp::XMLApplication::getRemoteUserAttributeIds (  )  const [inline, virtual]

Returns an array of attribute IDs to use as a REMOTE_USER value, in order of preference.

Returns:
an array of attribute IDs, possibly empty

Implements shibsp::Application.

std::string shibsp::XMLApplication::getSecureHeader ( const SPRequest &  request,
const char *  name 
) const [virtual]

Returns a non-spoofable request header value allowing for application-specific customization.

Parameters:
request SP request to access
name the name of the secure header to return
Returns:
the header's value, or an empty string

Reimplemented from shibsp::Application.

const SessionInitiator* shibsp::XMLApplication::getSessionInitiatorById ( const char *  id  )  const [virtual]

Returns a SessionInitiator with a particular ID when automatically requesting a session.

Parameters:
id an identifier unique to the Application
Returns:
the designated SessionInitiator, or nullptr

Implements shibsp::Application.

std::pair<bool, const char*> shibsp::XMLApplication::getString ( const char *  name,
const char *  ns = nullptr 
) const [virtual]

Returns a string-valued property.

Parameters:
name property name
ns property namespace, or nullptr
Returns:
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Reimplemented from shibsp::DOMPropertySet.

xmltooling::TrustEngine* shibsp::XMLApplication::getTrustEngine ( bool  required = true  )  const [inline, virtual]

Returns a TrustEngine for use with this Application.

Parameters:
required true iff an exception should be thrown if no TrustEngine is available
Returns:
a TrustEngine instance, or nullptr

Implements shibsp::Application.

std::pair<bool, const XMLCh*> shibsp::XMLApplication::getXMLString ( const char *  name,
const char *  ns = nullptr 
) const [virtual]

Returns a Unicode string-valued property.

Parameters:
name property name
ns property namespace, or nullptr
Returns:
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Reimplemented from shibsp::DOMPropertySet.

void shibsp::XMLApplication::limitRedirect ( const xmltooling::GenericRequest &  request,
const char *  url 
) const [virtual]

Checks a proposed redirect URL against application-specific settings for legal redirects, such as same-host restrictions or whitelisted domains, and raises a SecurityPolicyException in the event of a violation.

Parameters:
request the request leading to the redirect
url an absolute URL to validate

Reimplemented from shibsp::Application.

void shibsp::XMLApplication::receive ( DDF &  in,
std::ostream &  out 
) [virtual]

Remoted classes implement this method to process incoming messages.

Parameters:
in incoming DDF message
out stream to write outgoing DDF message to

Implements shibsp::Remoted.

void shibsp::XMLApplication::setHeader ( SPRequest &  request,
const char *  name,
const char *  value 
) const [virtual]

Sets a value for a request header allowing for application-specific customization.

Parameters:
request SP request to modify
name name of header to set
value value to set

Reimplemented from shibsp::Application.


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

Generated on 18 Jul 2018 for shibboleth-3.0.1 by  doxygen 1.6.1