GluuFederation/oxShibboleth

Support Couchbase for cache IDP sessions

Closed this issue · 2 comments

yurem commented

In IDP3 there are few supported cache mechanisms.

According to documentation to activate Memcached cache to store sessions we need to do:

Add to /opt/shibboleth-idp/system/conf/global-system.xml (or /etc/global-system.xml):

     <bean id="shibboleth.MemcachedStorageService"
          class="org.opensaml.storage.impl.memcached.MemcachedStorageService"
          c:timeout="2">
        <constructor-arg name="client">
            <bean class="net.spy.memcached.spring.MemcachedClientFactoryBean"
                  p:servers="localhost:11211"
                  p:protocol="BINARY"
                  p:locatorType="CONSISTENT"
                  p:failureMode="Redistribute">
                <property name="hashAlg">
                    <util:constant static-field="net.spy.memcached.DefaultHashAlgorithm.FNV1_64_HASH" />
                </property>
                <property name="transcoder">
                    <!-- DO NOT MODIFY THIS PROPERTY -->
                    <bean class="org.opensaml.storage.impl.memcached.StorageRecordTranscoder" />
                </property>
            </bean>
        </constructor-arg>
    </bean>
  1. Update /conf/idp.properties to specify:
    idp.session.StorageService = shibboleth.MemcachedStorageService

We can use this cache implementation as reference to prepare CouchbaseStorageService for IDP. It should use java SDK to rich maximum performance.

Also there is Redis implementation. We can use either RedisStorageService or MemcachedStorageService

yurem commented

Implemented

yurem commented

Now IDP uses GluuStorageService