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 |
|---|---|
|
equality |
|
equality |
|
equality |
|
equality |
|
ordering |
|
equality |
Steps
-
Create the indexes using the PingDirectory
dsconfigutility.The
dsconfigutility 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 -
After adding the indexes, build the indexes using the
rebuild-indexutility.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 accessGrantGrantTypeYou 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.