NameIdType
- type of object producedpublic abstract class AbstractNameIdentifierGenerator<NameIdType extends SAMLObject> extends net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent implements FormatSpecificNameIdentifierGenerator<NameIdType>, com.google.common.base.Predicate<ProfileRequestContext>
NameIdentifierGenerator
.
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)
or
getIdentifier(ProfileRequestContext)
.
Modifier and Type | Field and Description |
---|---|
private com.google.common.base.Predicate<ProfileRequestContext> |
activationCondition
A predicate indicating whether the component applies to a request.
|
private com.google.common.base.Function<ProfileRequestContext,String> |
defaultIdPNameQualifierLookupStrategy
Optional lookup function for obtaining default NameQualifier.
|
private com.google.common.base.Function<ProfileRequestContext,String> |
defaultSPNameQualifierLookupStrategy
Optional lookup function for obtaining default SPNameQualifier.
|
private String |
format
The identifier Format supported.
|
private String |
idpNameQualifier
Explicit NameQualifier, if any.
|
private boolean |
omitQualifiers
Flag allowing qualifier(s) to be omitted when they would match defaults or are not set.
|
private String |
spNameQualifier
Explicit SPNameQualifier, if any.
|
private String |
spProvidedId
SPProvidedID, if any.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractNameIdentifierGenerator()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
apply(ProfileRequestContext input) |
protected abstract NameIdType |
doGenerate(ProfileRequestContext profileRequestContext)
Override this method to fully control the generation process.
|
protected void |
doInitialize() |
NameIdType |
generate(ProfileRequestContext profileRequestContext,
String theFormat)
Generate an identifier object.
|
com.google.common.base.Function<ProfileRequestContext,String> |
getDefaultIdPNameQualifierLookupStrategy()
Get the lookup strategy to obtain the default IdP NameQualifier.
|
com.google.common.base.Function<ProfileRequestContext,String> |
getDefaultSPNameQualifierLookupStrategy()
Get the lookup strategy to obtain the default SPNameQualifier.
|
protected String |
getEffectiveIdPNameQualifier(ProfileRequestContext profileRequestContext)
Get the effective NameQualifier to apply based on the properties set and the current request.
|
protected String |
getEffectiveSPNameQualifier(ProfileRequestContext profileRequestContext)
Get the effective SPNameQualifier to apply based on the properties set and the current request.
|
String |
getFormat()
Get the identifier format associated with this component.
|
protected String |
getIdentifier(ProfileRequestContext profileRequestContext)
Override this method to reuse this implementation of
doGenerate(ProfileRequestContext) , and return the
identifier to be included as the value of the eventual element. |
String |
getIdPNameQualifier()
Get the NameQualifier attribute.
|
String |
getSPNameQualifier()
Get the SPNameQualifier attribute.
|
String |
getSPProvidedID()
Get the SPProvidedID attribute.
|
boolean |
isOmitQualifiers()
Get whether to omit NameQualifier/SPNameQualifier attributes if the qualifiers are not explicitly set or are set
to values matching the IdP and relying party names respectively.
|
void |
setActivationCondition(com.google.common.base.Predicate<ProfileRequestContext> condition)
Set an activation condition that determines whether to run or not.
|
void |
setDefaultIdPNameQualifierLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the lookup strategy to obtain the default IdP NameQualifier.
|
void |
setDefaultSPNameQualifierLookupStrategy(com.google.common.base.Function<ProfileRequestContext,String> strategy)
Set the lookup strategy to obtain the default SPNameQualifier.
|
void |
setFormat(String f)
Set the Format attribute supported.
|
void |
setIdPNameQualifier(String qualifier)
Set the NameQualifier attribute.
|
void |
setOmitQualifiers(boolean flag)
Set whether to omit NameQualifier/SPNameQualifier attributes if the qualifiers are not explicitly set or are set
to values matching the IdP and relying party names respectively.
|
void |
setSPNameQualifier(String qualifier)
Set the SPNameQualifier attribute.
|
void |
setSPProvidedId(String id)
Set the SPProvidedID attribute.
|
setId
getId
destroy, doDestroy, initialize, isDestroyed, isInitialized
@Nonnull private com.google.common.base.Predicate<ProfileRequestContext> activationCondition
@Nullable private com.google.common.base.Function<ProfileRequestContext,String> defaultIdPNameQualifierLookupStrategy
@Nullable private com.google.common.base.Function<ProfileRequestContext,String> defaultSPNameQualifierLookupStrategy
private boolean omitQualifiers
@NonnullAfterInit @NotEmpty private String format
protected AbstractNameIdentifierGenerator()
public void setActivationCondition(@Nonnull com.google.common.base.Predicate<ProfileRequestContext> condition)
condition
- an activation condition@Nullable public com.google.common.base.Function<ProfileRequestContext,String> getDefaultIdPNameQualifierLookupStrategy()
public void setDefaultIdPNameQualifierLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
strategy
- lookup strategy@Nullable public com.google.common.base.Function<ProfileRequestContext,String> getDefaultSPNameQualifierLookupStrategy()
public void setDefaultSPNameQualifierLookupStrategy(@Nullable com.google.common.base.Function<ProfileRequestContext,String> strategy)
strategy
- lookup strategypublic boolean isOmitQualifiers()
public void setOmitQualifiers(boolean flag)
flag
- flag to set@NonnullAfterInit @NotEmpty public String getFormat()
getFormat
in interface FormatSpecificNameIdentifierGenerator<NameIdType extends SAMLObject>
public void setFormat(@Nonnull @NotEmpty String f)
f
- format to set@Nullable public String getIdPNameQualifier()
public void setIdPNameQualifier(@Nullable String qualifier)
If not set, and isOmitQualifiers()
is false, then the value used will be derived from the IdP identity.
qualifier
- qualifier to set@Nullable public String getSPNameQualifier()
public void setSPNameQualifier(@Nullable String qualifier)
If not set, and isOmitQualifiers()
is false, then the value used will be derived from the relying party
identity.
qualifier
- qualifier to set@Nullable public String getSPProvidedID()
public void setSPProvidedId(@Nullable String id)
id
- value to setprotected void doInitialize() throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
doInitialize
in class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.ComponentInitializationException
public boolean apply(@Nullable ProfileRequestContext input)
apply
in interface com.google.common.base.Predicate<ProfileRequestContext>
@Nullable public NameIdType generate(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull @NotEmpty String theFormat) throws SAMLException
generate
in interface NameIdentifierGenerator<NameIdType extends SAMLObject>
profileRequestContext
- the current profile request contexttheFormat
- the identifier format to generateSAMLException
- if an error occurs generating an identifier@Nullable protected abstract NameIdType doGenerate(@Nonnull ProfileRequestContext profileRequestContext) throws SAMLException
profileRequestContext
- current profile request contextSAMLException
- if an error occurs@Nullable protected String getIdentifier(@Nonnull ProfileRequestContext profileRequestContext) throws SAMLException
doGenerate(ProfileRequestContext)
, and return the
identifier to be included as the value of the eventual element.profileRequestContext
- current profile request contextSAMLException
- if an error occurs@Nullable protected String getEffectiveIdPNameQualifier(@Nonnull ProfileRequestContext profileRequestContext)
profileRequestContext
- current profile context@Nullable protected String getEffectiveSPNameQualifier(@Nonnull ProfileRequestContext profileRequestContext)
profileRequestContext
- current profile contextCopyright © 1999–2020 Shibboleth Consortium. All rights reserved.