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:
[legend]
Collaboration diagram for shibsp::AttributeResolver:
[legend]

## Public Member Functions

virtual ResolutionContext *

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 =0

| Creates a ResolutionContext based on session bootstrap material.
virtual ResolutionContext * | createResolutionContext (const Application &application, const Session &session) const =0
| Creates a ResolutionContext for an existing Session.
virtual void | resolveAttributes (ResolutionContext &ctx) const =0
| Resolves attributes for a given subject and returns them in the supplied context.
virtual void | getAttributeIds (std::vector< std::string > &attributes) const =0
| Populates an array with the set of Attribute IDs that might be generated.

## 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 Session & | session
| ) |  | const

pure virtual

Creates a ResolutionContext for an existing Session.

Parameters

  application | reference to Application that owns the Session
  session | reference to Session

Returns
  newly created ResolutionContext, owned by caller

## createResolutionContext() [2/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

  application | reference to Application that owns the eventual Session
  request | request triggering the resolution, if any
  issuer | issuing metadata of assertion issuer, if known
  protocol | protocol used to establish Session
  nameid | principal identifier, normalized to SAML 2, if any
  authncontext_class | method/category of authentication event, if known
  authncontext_decl | specifics of authentication event, if known
  tokens | assertions initiating the Session, if any
  attributes | array of previously resolved attributes, if any

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

  attributes | array 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

  ctx | resolution context to use to resolve attributes

Exceptions

  AttributeResolutionException | thrown if there is a problem resolving the attributes for the subject

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

- shibsp/attribute/resolver/AttributeResolver.h