Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The saml-nameid.xml configuration file defines two list beans, each one an ordered list of "generator" plugins for the two different SAML versions. Each plugin is specific to an identifier Format, a SAML constant that identifies the kind of value being expressed. The generation process involves selecting a list of Formats to try and generate (see Format Selection below), and then trying each Format until an appropriate value is obtained by running each configured generator in order.

Since assertions need not contain a name identifier, it is not an error (from the perspective of the IdP) for all the generators to fail unless the original request contained a <NameIDPolicy> element with a Format attribute other than "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified". In that situation, failure to satisy the request results in a particular SAML response status. Note that most SP's asking for this don't mean to be doing it, and even fewer will be able to handle the resulting error.

The default configuration includes generators for "transient" identifiers. These plugins are configured using saml-nameid.properties to control the strategies used to generate and reverse-map the values (the latter only being necessary to support "back-channel" attribute queries).

...

If a <NameIDPolicy> element with a Format attribute (other than that "unspecified" example) is supplied, then a suitable matching identifier MUST be generated or an error will be returned to the SP.

...

Localtabgroup
Localtab
activetrue
titleProperties

Properties defined in saml-nameid.properties to customize various aspects of default identifier generation behavior:

Property / Type / DefaultFunction

idp.transientId.generator

Bean ID of a TransientIdGenerationStrategy

shibboleth.CryptoTransientIdGenerator

Identifies the strategy plugin for generating transient IDs

idp.nameid.saml2.default

URI

urn:oasis:names:tc:SAML:2.0:nameid-format:transient

Default Format to generate if nothing else is indicated

idp.nameid.saml1.default

URI

urn:mace:shibboleth:1.0:nameIdentifier                           

Default Format to generate if nothing else is indicated
Localtab
titleBeans

Beans defined in saml-nameid.xml and related system configuration discussed above follow:

Bean IDTypeFunction

shibboleth.SAML2NameIDGenerators

List<SAML2NameIDGenerator>

SAML 2 NameID generator plugins to use

shibboleth.SAML1NameIdentifierGenerators

List<SAML1NameIdentifierGenerator>

SAML 1 NameIdentifier generator plugins to use
shibboleth.SAML2TransientGeneratorTransientSAML2NameIDGeneratorPlugins for generating transient identifiers using pluggable strategies
shibboleth.SAML1TransientGeneratorTransientSAML1NameIdentifierGenerator
shibboleth.StoredTransientIdGeneratorTransientIdGenerationStrategyStrategy plugin that generates transient identifiers randomly and stores them in a server-side StorageService
shibboleth.CryptoTransientIdGeneratorTransientIdGenerationStrategyStrategy plugin that generates transient identifiers by encrypting a subject identity into a long opaque string