PingFederate Server

Indexing grant attributes in PingDirectory

If you use PingDirectory, or another directory, to store OAuth persistent grants for PingFederate, you must index the grant attributes.

About this task

Index these OAuth grant attributes using the procedure below.

Attribute name Index type

accessGrantGuid

equality

accessGrantUniqueUserIdentifier

equality

accessGrantHashedRefreshTokenValue

equality

accessGrantClientId

equality

accessGrantExpires

ordering

Steps

  1. Create the indexes using the PingDirectory dsconfig utility.

    The dsconfig utility is interactive, letting you enter command arguments. The following examples create the required indexes.

    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantGuid \
                      --set index-type:equality
    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantUniqueUserIdentifier \
                      --set index-type:equality
    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantHashedRefreshTokenValue \
                      --set index-type:equality
    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantClientId \
                      --set index-type:equality
    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantExpires \
                      --set index-type:ordering
    $ bin/dsconfig create-local-db-index \
                      --backend-name userRoot \
                      --index-name accessGrantGrantType \
                      --set index-type:equality
  2. After adding the indexes, build the indexes using the rebuild-index utility.

    The following example builds the required indexes.

    $ bin/rebuild-index \
                      --baseDN "dc=example,dc=com" \
                      --index accessGrantGuid \
                      --index accessGrantUniqueUserIdentifier \
                      --index accessGrantHashedRefreshTokenValue \
                      --index accessGrantClientId \
                      --index accessGrantExpires \
                      --index accessGrantGrantType

    You can configure a PingDirectory plugin to handle the cleanup of expired persistent grants and the associated attributes. The plugin allows fine-grained control over various aspects of the cleanup task, which can smooth out the performance impact. For more information, see Managing expired persistent grants in PingDirectory.