Class HazelcastSAMLMessageStore

  • All Implemented Interfaces:
    org.pac4j.core.store.Store<java.lang.String,​org.opensaml.core.xml.XMLObject>, SAMLMessageStore

    public class HazelcastSAMLMessageStore
    extends java.lang.Object
    implements SAMLMessageStore
    Class implements store of SAML messages and uses Hazelcast as underlying dataStore. As the XMLObjects can't be serialized (which could lead to problems during failover), the messages are transformed into SAMLObject which internally marshalls the content into XML during serialization. Base64 encoding / decoding is also used to reduce space allocation.
    Since:
    5.0.1
    Author:
    Francesco Chicchiriccò
    • Constructor Summary

      Constructors 
      Constructor Description
      HazelcastSAMLMessageStore​(com.hazelcast.core.HazelcastInstance hazelcastInstance)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<org.opensaml.core.xml.XMLObject> get​(java.lang.String messageID)  
      void remove​(java.lang.String messageID)  
      void set​(java.lang.String messageID, org.opensaml.core.xml.XMLObject message)  
      • Methods inherited from class java.lang.Object

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

      • HazelcastSAMLMessageStore

        public HazelcastSAMLMessageStore​(com.hazelcast.core.HazelcastInstance hazelcastInstance)
    • Method Detail

      • get

        public java.util.Optional<org.opensaml.core.xml.XMLObject> get​(java.lang.String messageID)
        Specified by:
        get in interface org.pac4j.core.store.Store<java.lang.String,​org.opensaml.core.xml.XMLObject>
      • set

        public void set​(java.lang.String messageID,
                        org.opensaml.core.xml.XMLObject message)
        Specified by:
        set in interface org.pac4j.core.store.Store<java.lang.String,​org.opensaml.core.xml.XMLObject>
      • remove

        public void remove​(java.lang.String messageID)
        Specified by:
        remove in interface org.pac4j.core.store.Store<java.lang.String,​org.opensaml.core.xml.XMLObject>