#include <shibsp/handler/SessionInitiator.h>
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. | |
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. | |
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 |
virtual const std::set<std::string>& shibsp::SessionInitiator::getSupportedOptions | ( | ) | const [virtual] |
Indicates the set of optional settings supported by the 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 |
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.
const char* shibsp::SessionInitiator::getType | ( | ) | const [virtual] |
Returns the "type" of the Handler plugin.
Reimplemented from shibsp::Handler.
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.
void registerSessionInitiators | ( | ) | [friend] |
Registers SessionInitiator implementations.
std::map<std::string,std::string> shibsp::SessionInitiator::m_remapper [static, protected] |
Property remapper for configuration compatibility.
std::set<std::string> shibsp::SessionInitiator::m_supportedOptions [protected] |
Set of optional settings supported by handler.