Package org.opensaml.saml.saml2.profile
Class AbstractSAML2NameIDGenerator
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- org.opensaml.saml.common.profile.AbstractNameIdentifierGenerator<NameID>
-
- org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator
-
- All Implemented Interfaces:
Predicate<org.opensaml.profile.context.ProfileRequestContext>
,net.shibboleth.utilities.java.support.component.Component
,net.shibboleth.utilities.java.support.component.DestructableComponent
,net.shibboleth.utilities.java.support.component.IdentifiableComponent
,net.shibboleth.utilities.java.support.component.IdentifiedComponent
,net.shibboleth.utilities.java.support.component.InitializableComponent
,FormatSpecificNameIdentifierGenerator<NameID>
,NameIdentifierGenerator<NameID>
,SAML2NameIDGenerator
public abstract class AbstractSAML2NameIDGenerator extends AbstractNameIdentifierGenerator<NameID> implements SAML2NameIDGenerator
Abstract base class for simple implementations ofSAML2NameIDGenerator
.This class is suitable for implementing generators that produce simple kinds of identifiers. It supports various options controlling the inclusion of qualifier attributes.
Subclasses must override one of
doGenerate(ProfileRequestContext)
orAbstractNameIdentifierGenerator.getIdentifier(ProfileRequestContext)
.
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.Logger
log
Class logger.private SAMLObjectBuilder<NameID>
nameBuilder
Builder for objects.private Function<org.opensaml.profile.context.ProfileRequestContext,AuthnRequest>
requestLookupStrategy
Strategy used to locate anAuthnRequest
to check.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSAML2NameIDGenerator()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected NameID
doGenerate(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
Override this method to fully control the generation process.protected String
getEffectiveSPNameQualifier(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
Get the effective SPNameQualifier to apply based on the properties set and the current request.void
setRequestLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,AuthnRequest> strategy)
Set the strategy used to locate theAuthnRequest
to check for aNameIDPolicy
.-
Methods inherited from class org.opensaml.saml.common.profile.AbstractNameIdentifierGenerator
doInitialize, generate, getDefaultIdPNameQualifierLookupStrategy, getDefaultSPNameQualifierLookupStrategy, getEffectiveIdPNameQualifier, getFormat, getIdentifier, getIdPNameQualifier, getSPNameQualifier, getSPProvidedID, isOmitQualifiers, setActivationCondition, setDefaultIdPNameQualifierLookupStrategy, setDefaultSPNameQualifierLookupStrategy, setFormat, setIdPNameQualifier, setOmitQualifiers, setSPNameQualifier, setSPProvidedId, test
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
Methods inherited from interface org.opensaml.saml.saml2.profile.SAML2NameIDGenerator
generate
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
nameBuilder
@Nonnull private final SAMLObjectBuilder<NameID> nameBuilder
Builder for objects.
-
requestLookupStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,AuthnRequest> requestLookupStrategy
Strategy used to locate anAuthnRequest
to check.
-
-
Method Detail
-
setRequestLookupStrategy
public void setRequestLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,AuthnRequest> strategy)
Set the strategy used to locate theAuthnRequest
to check for aNameIDPolicy
.- Parameters:
strategy
- lookup strategy
-
doGenerate
@Nullable protected NameID doGenerate(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext) throws SAMLException
Override this method to fully control the generation process.- Specified by:
doGenerate
in classAbstractNameIdentifierGenerator<NameID>
- Parameters:
profileRequestContext
- current profile request context- Returns:
- the generated object
- Throws:
SAMLException
- if an error occurs
-
getEffectiveSPNameQualifier
@Nullable protected String getEffectiveSPNameQualifier(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
Get the effective SPNameQualifier to apply based on the properties set and the current request.- Overrides:
getEffectiveSPNameQualifier
in classAbstractNameIdentifierGenerator<NameID>
- Parameters:
profileRequestContext
- current profile context- Returns:
- the effective NameQualifier to set, or null
-
-