Inter-Request State-Management (IRSM) Service
PingFederate tracks user-session state information between HTTP requests, such as when PingFederate, acting as an identity provider (IdP), redirects a user’s browser to another system for authentication. When the user’s browser returns to PingFederate after authentication, the server needs access to the state associated with that user from before the redirect. Generally, this state is short-lived.
The inter.request.state.mgmt parameter allows you to choose a method to track this state.
The configuration file is <pf_install>/pingfederate/server/default/conf/cluster-inter-request-state.conf.
Redis cache session tracking
You can store inter-request state data in a Redis cache. PingFederate stores and retrieves state date from the Redis cache, reducing the cache burden on your PingFederate server and keeping the data available in case of a full cluster restart. Redis works for both single-server and clustered environments.
To store inter-request state data in a Redis cache, set the inter.request.state.mgmt parameter to com.pingidentity.integrations.redis.irsm.InterRequestStateMgmtRedisImpl.
Learn how to configure a Redis cache in Storing PingFederate data with Redis.
Group RPC-based session tracking
The group RPC-based implementation supports both adaptive clustering and directed clustering.
For adaptive clustering, PingFederate shares user session-state information with a replica set. If region identifiers are defined, PingFederate shares user session-state information among multiple replica sets across regions. You can override this default behavior in the <pf_install>/pingfederate/server/default/conf/cluster-adaptive.conf file.
For directed clustering, all preferred-node approaches are possible with this implementation.
The service point InterRequestStateMgmt in the <pf_install>/pingfederate/server/default/conf/service-points.conf file uses the proxy InterRequestStateMgmtProxy to assign this implementation as the clustering default. The specific class name is org.sourceid.saml20.service.impl.grouprpc.InterRequestStateMgmtGroupRpcImpl
Local memory-based session tracking
The local memory-based session tracking implementation tracks users in the inter-request state in the local memory of the processing server. This is the standalone default.
|
Adaptive clustering does not support this implementation. Use the group RPC-based session tracking instead. |
The service point InterRequestStateMgmt in the service-points.conf file uses the proxy InterRequestStateMgmtProxy to assign this implementation as the clustering default. The specific class name is org.sourceid.saml20.service.impl.localmemory.InterReqStateMgmtMapImpl
- Local memory-based session tracking and clustering
-
Group RPC-based session tracking is the clustering default. To use local memory-based session tracking in a clustered environment, update the service point
InterRequestStateMgmtto use the local memory-based session tracking class,org.sourceid.saml20.service.impl.localmemory.InterReqStateMgmtMapImpl
|
The load balancer must support sticky sessions to force all requests for the same user session to be routed to the same server. |