Interface NameIdentifierGenerator<NameIdType extends SAMLObject>

Type Parameters:
NameIdType - type of object produced
All Known Subinterfaces:
FormatSpecificNameIdentifierGenerator<NameIdType>, SAML1NameIdentifierGenerator, SAML2NameIDGenerator
All Known Implementing Classes:
AbstractNameIdentifierGenerator, AbstractSAML1NameIdentifierGenerator, AbstractSAML2NameIDGenerator, ChainingNameIdentifierGenerator, ChainingSAML1NameIdentifierGenerator, ChainingSAML2NameIDGenerator

public interface NameIdentifierGenerator<NameIdType extends SAMLObject>
Interface for a component that produces SAML NameIdentifier and/or NameID objects for inclusion in assertion subjects.

Such a component typically consumes attribute information produced about the subject and transforms it (possibly via identity function) into use as a subject identifier. This operation is essentially the inverse of a subject canonicalization flow that operates on SAML identifiers and turns them back into principal names.

A component may be self-contained and need not depend on any other subject information, depending on the nature of the identifier.

  • Method Details

    • generate

      @Nullable NameIdType generate(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull @NotEmpty String format) throws SAMLException
      Generate an identifier object.
      Parameters:
      profileRequestContext - the current profile request context
      format - the identifier format to generate
      Returns:
      the identifier object, or null
      Throws:
      SAMLException - if an error occurs generating an identifier