PingFederate Server

Using custom solutions for persistent session storage

The PingFederate SDK supports custom storage for persistent authentication sessions.

Steps

  1. Implement the SessionStorageManager interface.

    For more information, see the Javadoc for the SessionStorageManager interface. The Javadocs for PingFederate are in the <pf_install>/pingfederate/sdk directory.

  2. Edit the <pf_install>/pingfederate/server/default/conf/META-INF/hivemodule.xml file:

    1. Locate the SessionStorageManager service point:

      <!-- Service for storing Authentication Sessions -->
      <service-point id="SessionStorageManager" interface="org.sourceid.saml20.service.session.data.SessionStorageManager">
          <invoke-factory>
              <construct class="org.sourceid.saml20.service.session.data.impl.SessionStorageManagerJdbcImpl"/>
          </invoke-factory>
      </service-point>
    2. Update the construct attribute value to the name of your class.

    3. Save the file.

    For a clustered PingFederate environment, you must edit the hivemodule.xml file on each node manually as cluster replication can’t replicate this change to other nodes.

  3. Deploy the required program files of your custom implementation to all PingFederate servers.

  4. Start or restart PingFederate.

    For a clustered PingFederate environment, replicate this new configuration to other engine nodes on *System → Server → Cluster Management. Start or restart the PingFederate service on each engine node to activate the change.