Class InMemoryReplayChecker
java.lang.Object
se.swedenconnect.opensaml.saml2.response.replay.InMemoryReplayChecker
- All Implemented Interfaces:
MessageReplayChecker
An in-memory based message replay checker implementation. This is mainly for testing and simple mock implementations.
- Author:
- Martin Lindström (martin@idsec.se)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checkReplay
(String id) Checks if the supplied message ID already has been processed within the time the replay checker keeps the processed items in its cache.void
checkReplay
(org.opensaml.saml.common.SAMLObject object) Checks if the supplied message contains an ID that already has been processed within the time the replay checker keeps the processed items in its cache.void
setReplayCacheExpiration
(long replayCacheExpiration) Assigns the number of milliseconds each stored ID should be kept in the cache.
-
Constructor Details
-
InMemoryReplayChecker
public InMemoryReplayChecker()
-
-
Method Details
-
checkReplay
Checks if the supplied message ID already has been processed within the time the replay checker keeps the processed items in its cache.- Specified by:
checkReplay
in interfaceMessageReplayChecker
- Parameters:
id
- the message ID- Throws:
MessageReplayException
- if there is a replay attack
-
checkReplay
public void checkReplay(org.opensaml.saml.common.SAMLObject object) throws MessageReplayException, IllegalArgumentException Checks if the supplied message contains an ID that already has been processed within the time the replay checker keeps the processed items in its cache.- Specified by:
checkReplay
in interfaceMessageReplayChecker
- Parameters:
object
- the SAML message object- Throws:
MessageReplayException
- if there is a replay attackIllegalArgumentException
- if the supplied object is not supported by the checker
-
setReplayCacheExpiration
public void setReplayCacheExpiration(long replayCacheExpiration) Assigns the number of milliseconds each stored ID should be kept in the cache. The default is 5 minutes.- Parameters:
replayCacheExpiration
- number of millis
-