Overview of the identity provider SSO flow
With the Agentless Integration Kit, PingFederate includes your custom identity provider (IdP) application in the sign-on flow.
The following figure shows how your custom application is integrated into the sign-on process using the Reference ID IdP Adapter:
Processing steps
-
Single sign-on (SSO) is initiated by the service provider (SP) or IdP.
-
SP-initiated SSO:
-
Through the browser, the user tries to access a protected resource.
-
The SP application starts an SP-initated SSO request.
-
The SP sends a redirect action to the browser.
-
The browser redirects to PingFederate with an authentication request to start an SP-initiated SSO request.
-
-
IdP-initiated SSO:
-
Through the browser, the user starts an IdP-initiated SSO request.
-
-
-
PingFederate stores user-session attributes, including values from tracked HTTP parameters, and generates a reference value (ABC). Learn more in Development considerations.
-
PingFederate sends a redirect action to the browser.
-
The browser redirects to the IdP application with the reference value (ABC) and a resume path.
-
The IdP application picks up the user-session attributes.
-
The IdP application sends the reference value (ABC) to PingFederate and requests the user-session attributes.
-
PingFederate verifies the reference value (ABC) and returns the user-session attributes, including values from tracked HTTP parameters, to the IdP application.
You can find a list of all possible user-session attributes in the IdpAuthenticationAdapterV2 section of the PingFederate Javadocs at
<pf_install>/PingFederate/sdk/doc/index.html
.If you select Include Null Attributes in the adapter configuration, null attributes are included in the response from the pickup endpoint. Learn more in Reference ID IdP Adapter settings reference.
-
-
The IdP application authenticates the user.
-
The IdP application uses a back-channel call to authenticate to PingFederate and drop off the user-session attributes. Learn more in Authentication methods.
-
PingFederate stores the user-session attributes and generates a second reference value (XYZ).
-
PingFederate returns the second reference value (XYZ) to the IdP application using the back-channel call.
-
The IdP application sends a redirect action to the browser.
-
The browser redirects to the resume path with the second reference value (XYZ).
-
PingFederate retrieves the user-session attributes associated with the second reference value (XYZ) and processes the request.
-
PingFederate sends a redirect action to the browser and provides a security token and auto-POST form.
-
The browser redirects to the SP to complete the SSO request.
-
The SP completes the SSO request.
-
The SP application returns the protected resource that the user requested.