Class StoredTransientIdGenerationStrategy
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.saml.nameid.impl.StoredTransientIdGenerationStrategy
- All Implemented Interfaces:
TransientIdGenerationStrategy
,Component
,DestructableComponent
,IdentifiableComponent
,IdentifiedComponent
,InitializableComponent
public class StoredTransientIdGenerationStrategy
extends AbstractIdentifiableInitializableComponent
implements TransientIdGenerationStrategy
Generates transients using a
StorageService
to manage the reverse mappings.
The identifier itself is the record key, and the value combines the principal name with the identifier of the recipient.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IdentifierGenerationStrategy
Generator of random, hex-encoded, identifiers.private Duration
Length identifiers are valid.private int
Size, in bytes, of the identifier.private StorageService
Store used to map identifiers to principals.private final org.slf4j.Logger
Class logger. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Generate a new Transient ID.Get the time ids are valid.int
Get the size, in bytes, of the id.void
setIdGenerator
(IdentifierGenerationStrategy generator) Set the ID generator we should use.void
setIdLifetime
(Duration lifetime) Set the time ids are valid.void
setIdSize
(int size) Set the size, in bytes, of the id.void
setIdStore
(StorageService store) Set the ID store we should use.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
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
idStore
Store used to map identifiers to principals. -
idGenerator
Generator of random, hex-encoded, identifiers. -
idSize
private int idSizeSize, in bytes, of the identifier. -
idLifetime
Length identifiers are valid.
-
-
Constructor Details
-
StoredTransientIdGenerationStrategy
public StoredTransientIdGenerationStrategy()Constructor.
-
-
Method Details
-
setIdStore
Set the ID store we should use.- Parameters:
store
- the store to use.
-
setIdGenerator
Set the ID generator we should use.- Parameters:
generator
- identifier generation strategy to use
-
getIdSize
Get the size, in bytes, of the id.- Returns:
- id size, in bytes
-
setIdSize
Set the size, in bytes, of the id.- Parameters:
size
- size, in bytes, of the id
-
getIdLifetime
Get the time ids are valid.- Returns:
- time ids are valid
-
setIdLifetime
Set the time ids are valid.- Parameters:
lifetime
- time ids are valid
-
doInitialize
- Overrides:
doInitialize
in classAbstractIdentifiedInitializableComponent
- Throws:
ComponentInitializationException
-
generate
@Nonnull @NotEmpty public String generate(@Nonnull @NotEmpty String relyingPartyId, @Nonnull @NotEmpty String principalName) throws SAMLException Generate a new Transient ID.- Specified by:
generate
in interfaceTransientIdGenerationStrategy
- Parameters:
relyingPartyId
- the relying party for whom we're generatingprincipalName
- the principal to map to- Returns:
- the new identifier
- Throws:
SAMLException
- if an error occurs generating the identifier
-