A specific table is required in order for PingFederate to store account links on your database server. Table-setup scripts are provided for supported database servers.

  1. Create a database for account linking by using one of the table-setup scripts located in the <pf_install>/pingfederate/server/default/conf/account-linking/sql-scripts directory.
  2. On the System > Data Stores screen, create a new datastore to connect PingFederate to the database (see Configuring a JDBC connection).
  3. On the System > Data Stores screen, copy the system ID of the new accounting-linking datastore.
  4. Edit the org.sourceid.saml20.service.impl.AccountLinkingServiceDBImpl.xml file, located in the <pf_install>/pingfederate/server/default/data/config-store directory.
    Note:

    For a clustered environment, edit this file on the administrative console node first, and then replicate to other engine nodes using System > Server > Cluster Management as explained in later steps.

    Replace the <c:item name="PingFederateDSJNDIName"/> element value with the system ID of your datastore connection and save the file.

    For example, if the system ID is JDBC-123456789ABCDEF123456789ABCDEF123456A0AC, update the org.sourceid.saml20.service.impl.AccountLinkingServiceDBImpl.xml file as follows:

    <?xml version="1.0" encoding="UTF-8"?>
    <c:config xmlns:c="http://www.sourceid.org/2004/05/config">
        <c:item name="PingFederateDSJNDIName">JDBC-123456789ABCDEF123456789ABCDEF123456A0AC</c:item>
    </c:config>
  5. Start or restart PingFederate.
  6. If you are running PingFederate in a cluster, go to the System > Cluster Management screen and replicate this change to other runtime servers.