Class PersistentSAML2NameIDGenerator
- 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
-
- net.shibboleth.idp.saml.nameid.impl.PersistentSAML2NameIDGenerator
-
- All Implemented Interfaces:
Predicate<ProfileRequestContext>,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,FormatSpecificNameIdentifierGenerator<NameID>,NameIdentifierGenerator<NameID>,SAML2NameIDGenerator
@ThreadSafeAfterInit public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
Generator for "persistent" FormatNameIDobjects that provides a source/seed ID based onIdPAttributedata.
-
-
Field Summary
Fields Modifier and Type Field Description private Function<ProfileRequestContext,AttributeContext>attributeContextLookupStrategyStrategy function to lookup AttributeContext.private List<String>attributeSourceIdsAttribute(s) to use as an identifier source.private DataSourcedataSourceA DataSource to auto-provision aJDBCPairwiseIdStoreinstance.private org.slf4j.LoggerlogClass logger.private PairwiseIdStorepidStoreStore for IDs.private Function<ProfileRequestContext,SubjectContext>subjectContextLookupStrategyStrategy function to lookup SubjectContext.private booleanuseUnfilteredAttributesPredicate to select whether to look at filtered or unfiltered attributes.
-
Constructor Summary
Constructors Constructor Description PersistentSAML2NameIDGenerator()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoInitialize()protected StringgetIdentifier(ProfileRequestContext profileRequestContext)voidsetAttributeContextLookupStrategy(Function<ProfileRequestContext,AttributeContext> strategy)Set the lookup strategy to use to locate theAttributeContext.voidsetAttributeSourceIds(List<String> ids)Set the attribute sources to pull from.voidsetDataSource(DataSource source)Set a data source to inject into an auto-provisioned instance ofJDBCPairwiseIdStoreto use as the store.voidsetPersistentIdStore(PairwiseIdStore store)Set aPairwiseIdStoreto use.voidsetSubjectContextLookupStrategy(Function<ProfileRequestContext,SubjectContext> strategy)Set the lookup strategy to use to locate theSubjectContext.voidsetUseUnfilteredAttributes(boolean flag)Set whether to source the input attributes from the unfiltered set.-
Methods inherited from class org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator
doGenerate, getEffectiveSPNameQualifier, setRequestLookupStrategy
-
Methods inherited from class org.opensaml.saml.common.profile.AbstractNameIdentifierGenerator
generate, getDefaultIdPNameQualifierLookupStrategy, getDefaultSPNameQualifierLookupStrategy, getEffectiveIdPNameQualifier, getFormat, 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.
-
subjectContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,SubjectContext> subjectContextLookupStrategy
Strategy function to lookup SubjectContext.
-
attributeContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,AttributeContext> attributeContextLookupStrategy
Strategy function to lookup AttributeContext.
-
attributeSourceIds
@Nonnull @NonnullElements private List<String> attributeSourceIds
Attribute(s) to use as an identifier source.
-
pidStore
@NonnullAfterInit private PairwiseIdStore pidStore
Store for IDs.
-
dataSource
@Nullable private DataSource dataSource
A DataSource to auto-provision aJDBCPairwiseIdStoreinstance.
-
useUnfilteredAttributes
private boolean useUnfilteredAttributes
Predicate to select whether to look at filtered or unfiltered attributes.
-
-
Method Detail
-
setSubjectContextLookupStrategy
public void setSubjectContextLookupStrategy(@Nonnull Function<ProfileRequestContext,SubjectContext> strategy)Set the lookup strategy to use to locate theSubjectContext.- Parameters:
strategy- lookup function to use
-
setAttributeContextLookupStrategy
public void setAttributeContextLookupStrategy(@Nonnull Function<ProfileRequestContext,AttributeContext> strategy)Set the lookup strategy to use to locate theAttributeContext.- Parameters:
strategy- lookup function to use
-
setAttributeSourceIds
public void setAttributeSourceIds(@Nonnull @NonnullElements List<String> ids)
Set the attribute sources to pull from.- Parameters:
ids- attribute IDs to pull from
-
setPersistentIdStore
public void setPersistentIdStore(@Nullable PairwiseIdStore store)Set aPairwiseIdStoreto use.- Parameters:
store- the id store
-
setDataSource
public void setDataSource(@Nullable DataSource source)Set a data source to inject into an auto-provisioned instance ofJDBCPairwiseIdStoreto use as the store.- Parameters:
source- data source
-
setUseUnfilteredAttributes
public void setUseUnfilteredAttributes(boolean flag)
Set whether to source the input attributes from the unfiltered set.Defaults to true, since the input is not directly exposed.
- Parameters:
flag- flag to set
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractNameIdentifierGenerator<NameID>- Throws:
ComponentInitializationException
-
getIdentifier
@Nullable protected String getIdentifier(@Nonnull ProfileRequestContext profileRequestContext) throws SAMLException
- Overrides:
getIdentifierin classAbstractNameIdentifierGenerator<NameID>- Throws:
SAMLException
-
-