shibboleth-3.5.0
shibsp::AttributeResolver Class Referenceabstract

The service that resolves the attributes for a particular subject. More...

#include <shibsp/attribute/resolver/AttributeResolver.h>

Inheritance diagram for shibsp::AttributeResolver:

Public Member Functions

virtual ResolutionContextcreateResolutionContext (const Application &application, const xmltooling::GenericRequest *request, const opensaml::saml2md::EntityDescriptor *issuer, const XMLCh *protocol, const opensaml::saml2::NameID *nameid=nullptr, const XMLCh *authncontext_class=nullptr, const XMLCh *authncontext_decl=nullptr, const std::vector< const opensaml::Assertion *> *tokens=nullptr, const std::vector< Attribute *> *attributes=nullptr) const =0
 Creates a ResolutionContext based on session bootstrap material. More...
 
virtual ResolutionContextcreateResolutionContext (const Application &application, const Session &session) const =0
 Creates a ResolutionContext for an existing Session. More...
 
virtual void resolveAttributes (ResolutionContext &ctx) const =0
 Resolves attributes for a given subject and returns them in the supplied context. More...
 
virtual void getAttributeIds (std::vector< std::string > &attributes) const =0
 Populates an array with the set of Attribute IDs that might be generated. More...
 

Detailed Description

The service that resolves the attributes for a particular subject.

Member Function Documentation

◆ createResolutionContext() [1/2]

virtual ResolutionContext* shibsp::AttributeResolver::createResolutionContext ( const Application application,
const xmltooling::GenericRequest *  request,
const opensaml::saml2md::EntityDescriptor *  issuer,
const XMLCh *  protocol,
const opensaml::saml2::NameID *  nameid = nullptr,
const XMLCh *  authncontext_class = nullptr,
const XMLCh *  authncontext_decl = nullptr,
const std::vector< const opensaml::Assertion *> *  tokens = nullptr,
const std::vector< Attribute *> *  attributes = nullptr 
) const
pure virtual

Creates a ResolutionContext based on session bootstrap material.

This enables resolution to occur ahead of session creation so that Attributes can be supplied while creating the session.

Parameters
applicationreference to Application that owns the eventual Session
requestrequest triggering the resolution, if any
issuerissuing metadata of assertion issuer, if known
protocolprotocol used to establish Session
nameidprincipal identifier, normalized to SAML 2, if any
authncontext_classmethod/category of authentication event, if known
authncontext_declspecifics of authentication event, if known
tokensassertions initiating the Session, if any
attributesarray of previously resolved attributes, if any
Returns
newly created ResolutionContext, owned by caller

◆ createResolutionContext() [2/2]

virtual ResolutionContext* shibsp::AttributeResolver::createResolutionContext ( const Application application,
const Session session 
) const
pure virtual

Creates a ResolutionContext for an existing Session.

Parameters
applicationreference to Application that owns the Session
sessionreference to Session
Returns
newly created ResolutionContext, owned by caller

◆ getAttributeIds()

virtual void shibsp::AttributeResolver::getAttributeIds ( std::vector< std::string > &  attributes) const
pure virtual

Populates an array with the set of Attribute IDs that might be generated.

Parameters
attributesarray to populate

◆ resolveAttributes()

virtual void shibsp::AttributeResolver::resolveAttributes ( ResolutionContext ctx) const
pure virtual

Resolves attributes for a given subject and returns them in the supplied context.

Parameters
ctxresolution context to use to resolve attributes
Exceptions
AttributeResolutionExceptionthrown if there is a problem resolving the attributes for the subject

The documentation for this class was generated from the following file: