Class BasicSAMLArtifactMap
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.saml.common.binding.artifact.impl.BasicSAMLArtifactMap
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,SAMLArtifactMap
Basic artifact map implementation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classA cleanup task that relies on the weakly consistent iterator support in the map implementation.Nested classes/interfaces inherited from interface org.opensaml.saml.common.binding.artifact.SAMLArtifactMap
SAMLArtifactMap.SAMLArtifactMapEntry, SAMLArtifactMap.SAMLArtifactMapEntryFactory -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DurationLifetime of an artifact.private Map<String,ExpiringSAMLArtifactMapEntry> Artifact mapping storage.private DurationTime between cleanup checks.private TimerTaskTask that cleans up expired records.private TimerTimer used to schedule cleanup tasks.Factory for SAMLArtifactMapEntry instances.private final org.slf4j.LoggerClass Logger. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if a given artifact has a map entry.protected voidprotected voidGets the artifact entry for the given artifact.Get the artifact entry lifetime.Get the map entry factory.voidput(String artifact, String relyingPartyId, String issuerId, SAMLObject samlMessage) Creates a mapping between a given artifact and the SAML message to which it maps.voidRemoves the artifact from this map.voidsetArtifactLifetime(Duration lifetime) Set the artifact entry lifetime.voidsetCleanupInterval(Duration interval) Set the cleanup interval, or 0 for none.voidSet the map entry factory.Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass Logger. -
artifactStore
Artifact mapping storage. -
artifactLifetime
Lifetime of an artifact. -
entryFactory
Factory for SAMLArtifactMapEntry instances. -
cleanupInterval
Time between cleanup checks. Default value: (5 mins) -
cleanupTaskTimer
Timer used to schedule cleanup tasks. -
cleanupTask
Task that cleans up expired records.
-
-
Constructor Details
-
BasicSAMLArtifactMap
public BasicSAMLArtifactMap()Constructor.
-
-
Method Details
-
doInitialize
- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doDestroy
protected void doDestroy()- Overrides:
doDestroyin classAbstractInitializableComponent
-
getArtifactLifetime
Get the artifact entry lifetime.- Returns:
- the artifact entry lifetime
-
getEntryFactory
Get the map entry factory.- Returns:
- the map entry factory
-
setArtifactLifetime
Set the artifact entry lifetime.- Parameters:
lifetime- artifact entry lifetime
-
setCleanupInterval
Set the cleanup interval, or 0 for none.- Parameters:
interval- cleanup interval
-
setEntryFactory
Set the map entry factory.- Parameters:
factory- map entry factory
-
contains
Checks if a given artifact has a map entry.- Specified by:
containsin interfaceSAMLArtifactMap- Parameters:
artifact- the artifact to check- Returns:
- true iff this map has an entry for the given artifact
- Throws:
IOException- if an error occurs retrieving the information
-
get
@Nullable public SAMLArtifactMap.SAMLArtifactMapEntry get(@Nonnull @NotEmpty String artifact) throws IOException Gets the artifact entry for the given artifact.- Specified by:
getin interfaceSAMLArtifactMap- Parameters:
artifact- the artifact to retrieve the entry for- Returns:
- the entry, or null if the artifact has already expired or did not exist
- Throws:
IOException- if an error occurs retrieving the information
-
put
public void put(@Nonnull @NotEmpty String artifact, @Nonnull @NotEmpty String relyingPartyId, @Nonnull @NotEmpty String issuerId, @Nonnull SAMLObject samlMessage) throws IOException Creates a mapping between a given artifact and the SAML message to which it maps.- Specified by:
putin interfaceSAMLArtifactMap- Parameters:
artifact- the artifactrelyingPartyId- ID of the party the artifact was sent toissuerId- ID of the issuer of the artifactsamlMessage- the SAML message- Throws:
IOException- if an error occurs storing the information
-
remove
Removes the artifact from this map.- Specified by:
removein interfaceSAMLArtifactMap- Parameters:
artifact- artifact to be removed- Throws:
IOException- if an error occurs retrieving the information
-