#include <shibsp/handler/SessionInitiator.h>
Inheritance diagram for shibsp::SessionInitiator:

Public Member Functions | |
| virtual const std::set< std::string > & | getSupportedOptions () const |
| Indicates the set of optional settings supported by the handler. | |
| virtual std::pair< bool, long > | run (SPRequest &request, std::string &entityID, bool isHandler=true) const =0 |
| Executes an incoming request. | |
| std::pair< bool, long > | run (SPRequest &request, bool isHandler=true) const |
| Executes handler functionality as an incoming request. | |
| const char * | getType () const |
| Returns the "type" of the Handler plugin. | |
| void | generateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const |
| Generates and/or modifies metadata reflecting the Handler. | |
| void | doGenerateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const |
| Generates RequestInitiator metadata when instructed. | |
Protected Member Functions | |
| bool | checkCompatibility (SPRequest &request, bool isHandler) const |
| Examines the request and applicable settings to determine whether the handler is able to support the request. | |
| virtual AuthnRequestEvent * | newAuthnRequestEvent (const Application &application, const xmltooling::HTTPRequest *request=nullptr) const |
| Creates a new AuthnRequestEvent for the event log. | |
Protected Attributes | |
| std::set< std::string > | m_supportedOptions |
| Set of optional settings supported by handler. | |
Static Protected Attributes | |
|
static std::map< std::string, std::string > | m_remapper |
| Property remapper for configuration compatibility. | |
Friends | |
| void | registerSessionInitiators () |
| Registers SessionInitiator implementations. | |
By default, SessionInitiators look for an entityID on the incoming request and pass control to the specialized run method.
| bool shibsp::SessionInitiator::checkCompatibility | ( | SPRequest & | request, | |
| bool | isHandler | |||
| ) | const [protected] |
Examines the request and applicable settings to determine whether the handler is able to support the request.
If the handler is within a chain, the method will return false, otherwise an exception will be raised.
| request | SP request context | |
| isHandler | true iff executing in the context of a direct handler invocation |
| void shibsp::SessionInitiator::doGenerateMetadata | ( | opensaml::saml2md::SPSSODescriptor & | role, | |
| const char * | handlerURL | |||
| ) | const |
Generates RequestInitiator metadata when instructed.
Allows subclasses to decide whether it's appropriate to do so instead of requiring them to override the method to stop it.
| role | role object to inject metadata into | |
| handlerURL | base of endpoint to generate metadata with |
| void shibsp::SessionInitiator::generateMetadata | ( | opensaml::saml2md::SPSSODescriptor & | role, | |
| const char * | handlerURL | |||
| ) | const [virtual] |
Generates and/or modifies metadata reflecting the Handler.
The default implementation does nothing.
| role | metadata role to decorate | |
| handlerURL | base location of handler's endpoint |
Reimplemented from shibsp::Handler.
| virtual const std::set<std::string>& shibsp::SessionInitiator::getSupportedOptions | ( | ) | const [virtual] |
Indicates the set of optional settings supported by the handler.
| const char* shibsp::SessionInitiator::getType | ( | ) | const [virtual] |
Returns the "type" of the Handler plugin.
Reimplemented from shibsp::Handler.
| virtual AuthnRequestEvent* shibsp::SessionInitiator::newAuthnRequestEvent | ( | const Application & | application, | |
| const xmltooling::HTTPRequest * | request = nullptr | |||
| ) | const [protected, virtual] |
Creates a new AuthnRequestEvent for the event log.
| application | the Application associated with the event | |
| request | the HTTP client request associated with the event, or nullptr |
| std::pair<bool,long> shibsp::SessionInitiator::run | ( | SPRequest & | request, | |
| bool | isHandler = true | |||
| ) | const [virtual] |
Executes handler functionality as an incoming request.
Handlers can be run either directly by incoming web requests or indirectly/implicitly during other SP processing.
| request | SP request context | |
| isHandler | true iff executing in the context of a direct handler invocation |
Implements shibsp::Handler.
| virtual std::pair<bool,long> shibsp::SessionInitiator::run | ( | SPRequest & | request, | |
| std::string & | entityID, | |||
| bool | isHandler = true | |||
| ) | const [pure virtual] |
Executes an incoming request.
SessionInitiators can be run either directly by incoming web requests or indirectly/implicitly during other SP processing.
| request | SP request context | |
| entityID | the name of an IdP to request a session from, if known | |
| isHandler | true iff executing in the context of a direct handler invocation |
1.4.7