Class InMemoryReplayChecker

java.lang.Object
se.swedenconnect.opensaml.saml2.response.replay.InMemoryReplayChecker
All Implemented Interfaces:
MessageReplayChecker

public class InMemoryReplayChecker extends Object implements 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • InMemoryReplayChecker

      public InMemoryReplayChecker()
  • Method Details

    • checkReplay

      public void checkReplay(String id) throws MessageReplayException
      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 interface MessageReplayChecker
      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 interface MessageReplayChecker
      Parameters:
      object - the SAML message object
      Throws:
      MessageReplayException - if there is a replay attack
      IllegalArgumentException - 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