opensaml-3.2.1
opensaml::saml2md::DiscoverableMetadataProvider Class Reference

A metadata provider that provides a JSON feed of IdP discovery information. More...

#include <saml/saml2/metadata/DiscoverableMetadataProvider.h>

Inheritance diagram for opensaml::saml2md::DiscoverableMetadataProvider:
opensaml::saml2md::MetadataProvider

Public Member Functions

virtual std::string getCacheTag () const
 Returns the ETag associated with the cached feed. More...
 
virtual void outputFeed (std::ostream &os, bool &first, bool wrapArray=true) const
 Outputs the cached feed. More...
 
- Public Member Functions inherited from opensaml::saml2md::MetadataProvider
virtual ~MetadataProvider ()
 Destructor will delete any installed filters.
 
virtual const char * getId () const
 Returns an identifier for the provider for logging/status purposes. More...
 
virtual void addMetadataFilter (MetadataFilter *newFilter)
 Adds a metadata filter to apply to any resolved metadata. More...
 
virtual MetadataFilterremoveMetadataFilter (MetadataFilter *oldFilter)
 Removes a metadata filter. More...
 
void setContext (const MetadataFilterContext *ctx)
 Sets a filtering context object for use by the filtering process. More...
 
virtual void init ()=0
 Should be called after instantiating provider and adding filters, but before performing any lookup operations. More...
 
virtual void outputStatus (std::ostream &os) const
 Generate an XML representation of the provider's status. More...
 
virtual const xmltooling::XMLObject * getMetadata () const =0
 Gets the entire metadata tree, after the registered filter has been applied. More...
 
virtual const EntitiesDescriptor * getEntitiesDescriptor (const XMLCh *name, bool requireValidMetadata=true) const
 Gets the metadata for a given group of entities. More...
 
virtual const EntitiesDescriptor * getEntitiesDescriptor (const char *name, bool requireValidMetadata=true) const =0
 Gets the metadata for a given group of entities. More...
 
virtual std::pair< const EntityDescriptor *, const RoleDescriptor * > getEntityDescriptor (const Criteria &criteria) const =0
 Gets entity metadata based on supplied criteria. More...
 

Protected Member Functions

 DiscoverableMetadataProvider (const xercesc::DOMElement *e=0, bool deprecationSupport=true)
 Constructor. More...
 
virtual void generateFeed ()
 Generates a JSON feed of IdP discovery information for the current metadata. More...
 
- Protected Member Functions inherited from opensaml::saml2md::MetadataProvider
 MetadataProvider (const xercesc::DOMElement *e, bool deprecationSupport=true)
 Constructor. More...
 
void doFilters (const MetadataFilterContext *ctx, xmltooling::XMLObject &xmlObject) const
 Applies any installed filters to a metadata instance. More...
 

Protected Attributes

std::string m_feed
 Storage for feed. More...
 
std::string m_feedTag
 ETag for feed. More...
 

Detailed Description

A metadata provider that provides a JSON feed of IdP discovery information.

Constructor & Destructor Documentation

◆ DiscoverableMetadataProvider()

opensaml::saml2md::DiscoverableMetadataProvider::DiscoverableMetadataProvider ( const xercesc::DOMElement *  e = 0,
bool  deprecationSupport = true 
)
protected

Constructor.

If a DOM is supplied, the following XML content is supported:

legacyOrgNames
true iff IdPs without a UIInfo extension should be identified using <md:OrganizationDisplayName>
entityAttributes
true iff tags found in <mdattr:EntityAttributes> extensions should be included in the feed
<DiscoveryFilter type="..." matcher="..." >
Zero or more filters of type "Include" or "Exclude" that affect which entities get exposed by the feed. The actual matching is driven by an EntityMatcher plugin identified by the matcher attribute. Other element content will be present to configure that plugin.
Parameters
eDOM to supply configuration for provider
deprecationSupporttrue iff deprecated features and settings should be supported

Member Function Documentation

◆ generateFeed()

virtual void opensaml::saml2md::DiscoverableMetadataProvider::generateFeed ( )
protectedvirtual

Generates a JSON feed of IdP discovery information for the current metadata.

The provider MUST be write-locked.

◆ getCacheTag()

virtual std::string opensaml::saml2md::DiscoverableMetadataProvider::getCacheTag ( ) const
virtual

Returns the ETag associated with the cached feed.

The provider MUST be locked.

Returns
the ETag value for the current feed state

◆ outputFeed()

virtual void opensaml::saml2md::DiscoverableMetadataProvider::outputFeed ( std::ostream &  os,
bool &  first,
bool  wrapArray = true 
) const
virtual

Outputs the cached feed.

The provider MUST be locked.

Parameters
osstream to output feed into
firston input, indicates if the feed is first in position, on output will be false if the feed was non-empty
wrapArraytrue iff the feed array should be opened/closed by this provider

Member Data Documentation

◆ m_feed

std::string opensaml::saml2md::DiscoverableMetadataProvider::m_feed
protected

Storage for feed.

◆ m_feedTag

std::string opensaml::saml2md::DiscoverableMetadataProvider::m_feedTag
mutableprotected

ETag for feed.


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