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.
AttributeExtractorgetAttributeExtractor () const
 Returns an AttributeExtractor for use with this Application.
AttributeFiltergetAttributeFilter () const
 Returns an AttributeFilter for use with this Application.
AttributeResolvergetAttributeResolver () const
 Returns an AttributeResolver for use with this Application.
xmltooling::CredentialResolver * getCredentialResolver () const
 Returns the CredentialResolver instance associated with this Application.
const PropertySetgetRelyingParty (const opensaml::saml2md::EntityDescriptor *provider) const
 Returns configuration properties governing security interactions with a peer.
const PropertySetgetRelyingParty (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 SessionInitiatorgetDefaultSessionInitiator () const
 Returns the default SessionInitiator when automatically requesting a session.
const SessionInitiatorgetSessionInitiatorById (const char *id) const
 Returns a SessionInitiator with a particular ID when automatically requesting a session.
const HandlergetDefaultAssertionConsumerService () const
 Returns the default AssertionConsumerService Handler for use in AuthnRequest messages.
const HandlergetAssertionConsumerServiceByIndex (unsigned short index) const
 Returns an AssertionConsumerService Handler with a particular index for use in AuthnRequest messages.
const HandlergetAssertionConsumerServiceByProtocol (const XMLCh *protocol, const char *binding=nullptr) const
 Returns an AssertionConsumerService Handler that supports a particular protocol "family" and optional binding.
const HandlergetHandler (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 allowed 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 allowed 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 15 Dec 2020 for shibboleth-3.2.0 by  doxygen 1.6.1