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 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 |
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.
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.
index | an index unique to an application |
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.
protocol | a protocol identifier | |
binding | a binding identifier |
Implements shibsp::Application.
AttributeExtractor* shibsp::XMLApplication::getAttributeExtractor | ( | ) | const [inline, virtual] |
Returns an AttributeExtractor for use with this Application.
Implements shibsp::Application.
AttributeFilter* shibsp::XMLApplication::getAttributeFilter | ( | ) | const [inline, virtual] |
Returns an AttributeFilter for use with this Application.
Implements shibsp::Application.
AttributeResolver* shibsp::XMLApplication::getAttributeResolver | ( | ) | const [inline, virtual] |
Returns an AttributeResolver for use with this Application.
Implements shibsp::Application.
const std::vector<const XMLCh*>* shibsp::XMLApplication::getAudiences | ( | ) | const [inline, virtual] |
Implements shibsp::Application.
xmltooling::CredentialResolver* shibsp::XMLApplication::getCredentialResolver | ( | ) | const [inline, virtual] |
Returns the CredentialResolver instance associated with this Application.
Implements shibsp::Application.
const Handler* shibsp::XMLApplication::getDefaultAssertionConsumerService | ( | ) | const [virtual] |
Returns the default AssertionConsumerService Handler for use in AuthnRequest messages.
Implements shibsp::Application.
const SessionInitiator* shibsp::XMLApplication::getDefaultSessionInitiator | ( | ) | const [virtual] |
Returns the default SessionInitiator when automatically requesting a session.
Implements shibsp::Application.
const Handler* shibsp::XMLApplication::getHandler | ( | const char * | path | ) | const [virtual] |
Returns the Handler associated with a particular path/location.
path | the PATH_INFO appended to the end of a base Handler location that invokes the Handler |
Implements shibsp::Application.
void shibsp::XMLApplication::getHandlers | ( | std::vector< const Handler * > & | handlers | ) | const [virtual] |
Returns all registered Handlers.
handlers | array to populate |
Implements shibsp::Application.
const char* shibsp::XMLApplication::getHash | ( | ) | const [inline, virtual] |
Returns a unique hash for the Application.
Implements shibsp::Application.
opensaml::saml2md::MetadataProvider* shibsp::XMLApplication::getMetadataProvider | ( | bool | required = true |
) | const [inline, virtual] |
Returns a MetadataProvider for use with this Application.
required | true iff an exception should be thrown if no MetadataProvider is available |
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.
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 |
Implements shibsp::Application.
const PropertySet* shibsp::XMLApplication::getRelyingParty | ( | const XMLCh * | entityID | ) | const [virtual] |
Returns configuration properties governing security interactions with a named peer.
entityID | a peer name |
Implements shibsp::Application.
const PropertySet* shibsp::XMLApplication::getRelyingParty | ( | const opensaml::saml2md::EntityDescriptor * | provider | ) | const [virtual] |
Returns configuration properties governing security interactions with a peer.
provider | a peer entity's metadata |
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.
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.
request | SP request to access | |
name | the name of the secure header to return |
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.
id | an identifier unique to the Application |
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.
name | property name | |
ns | property namespace, or nullptr |
Reimplemented from shibsp::DOMPropertySet.
xmltooling::TrustEngine* shibsp::XMLApplication::getTrustEngine | ( | bool | required = true |
) | const [inline, virtual] |
Returns a TrustEngine for use with this Application.
required | true iff an exception should be thrown if no TrustEngine is available |
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.
name | property name | |
ns | property namespace, or nullptr |
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.
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.
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.
request | SP request to modify | |
name | name of header to set | |
value | value to set |
Reimplemented from shibsp::Application.