shibsp::SessionInitiator Class Reference

Pluggable runtime functionality that handles initiating sessions. More...

#include <shibsp/handler/SessionInitiator.h>

Inheritance diagram for shibsp::SessionInitiator:

shibsp::Handler shibsp::PropertySet List of all members.

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.

Detailed Description

Pluggable runtime functionality that handles initiating sessions.

By default, SessionInitiators look for an entityID on the incoming request and pass control to the specialized run method.


Member Function Documentation

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.

Parameters:
request SP request context
isHandler true iff executing in the context of a direct handler invocation
Returns:
true iff the request appears to be compatible

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.

Parameters:
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.

Parameters:
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.

Returns:
a set of the optional settings supported

const char* shibsp::SessionInitiator::getType  )  const [virtual]
 

Returns the "type" of the Handler plugin.

Returns:
a Handler type

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.

Parameters:
application the Application associated with the event
request the HTTP client request associated with the event, or nullptr
Returns:
a fresh AuthnRequestEvent, prepopulated by the input parameters, or nullptr if an error occurs

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.

Parameters:
request SP request context
isHandler true iff executing in the context of a direct handler invocation
Returns:
a pair containing a "request completed" indicator and a server-specific response code

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.

Parameters:
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
Returns:
a pair containing a "request completed" indicator and a server-specific response code


The documentation for this class was generated from the following file:
Generated on Mon Dec 2 17:39:01 2013 for shibboleth-2.5.3 by  doxygen 1.4.6