Class AttributeSourcedSAML2NameIDGenerator
- 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.AttributeSourcedSAML2NameIDGenerator
-
- All Implemented Interfaces:
Predicate<ProfileRequestContext>,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,FormatSpecificNameIdentifierGenerator<NameID>,NameIdentifierGenerator<NameID>,SAML2NameIDGenerator
@ThreadSafeAfterInit public class AttributeSourcedSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
Generator forNameIDobjects 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 chardelimiterDelimiter to use for scoped attribute serialization.private org.slf4j.LoggerlogClass logger.private booleanuseUnfilteredAttributesWhether to look at filtered or unfiltered attributes.
-
Constructor Summary
Constructors Constructor Description AttributeSourcedSAML2NameIDGenerator()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected NameIDdoGenerate(ProfileRequestContext profileRequestContext)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.voidsetScopedDelimiter(char ch)Set the delimiter to use for serializing scoped attribute values.voidsetUseUnfilteredAttributes(boolean flag)Set whether to source the input attributes from the unfiltered set.-
Methods inherited from class org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator
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.
-
attributeContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,AttributeContext> attributeContextLookupStrategy
Strategy function to lookup AttributeContext.
-
useUnfilteredAttributes
private boolean useUnfilteredAttributes
Whether to look at filtered or unfiltered attributes.
-
delimiter
private char delimiter
Delimiter to use for scoped attribute serialization.
-
attributeSourceIds
@Nonnull @NonnullElements private List<String> attributeSourceIds
Attribute(s) to use as an identifier source.
-
-
Method Detail
-
setAttributeContextLookupStrategy
public void setAttributeContextLookupStrategy(@Nonnull Function<ProfileRequestContext,AttributeContext> strategy)Set the lookup strategy to use to locate theAttributeContext.- Parameters:
strategy- lookup function to use
-
setScopedDelimiter
public void setScopedDelimiter(char ch)
Set the delimiter to use for serializing scoped attribute values.- Parameters:
ch- scope to set
-
setAttributeSourceIds
public void setAttributeSourceIds(@Nonnull @NonnullElements List<String> ids)
Set the attribute sources to pull from.- Parameters:
ids- attribute IDs to pull from
-
setUseUnfilteredAttributes
public void setUseUnfilteredAttributes(boolean flag)
Set whether to source the input attributes from the unfiltered set.- Parameters:
flag- flag to set
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractNameIdentifierGenerator<NameID>- Throws:
ComponentInitializationException
-
doGenerate
@Nullable protected NameID doGenerate(@Nonnull ProfileRequestContext profileRequestContext) throws SAMLException
- Overrides:
doGeneratein classAbstractSAML2NameIDGenerator- Throws:
SAMLException
-
getIdentifier
@Nullable protected String getIdentifier(@Nonnull ProfileRequestContext profileRequestContext) throws SAMLException
- Overrides:
getIdentifierin classAbstractNameIdentifierGenerator<NameID>- Throws:
SAMLException
-
-