PingFederate includes an authentication API explorer that allows you to view the states, actions, and models available for the various API-capable adapters and selectors included in your PingFederate environment.
Enable Authentication API
- Go to Authentication > Integration > Authentication API Applications.
- Select the Enable Authentication API check box.
- Select the Enable API Explorer check box.
Configure an authentication application for the Authentication API Explorer
- Go toAuthentication > Integration > Authentication API Applications.
- Click Add Authentication Application.
-
On the Authentication Application window, configure each field
as described in the following table.
Field Description Name A name of the authentication application, such as Authentication API Explorer
Description An optional description of the authentication application, such as Explore the authentication API!
URL A combination of the PingFederate base URL and the application path /pf-ws/authn/explorer
For example, if the base URL is https://localhost:9031, enter:
You can find your PingFederate base URL at System > Server > Protocol Settings > Federation Info.https://localhost:9031/pf-ws/authn/explorer
Additional Allowed Origins Any additional allowed origins. For more information, see Configuring authentication applications. If you are using a PingFederate base URL of https://localhost:9031 for testing purpose, you can skip this field.
- On the Authentication Application window, click Save.
- On the Authentication API Applications window, click Save.
Explore the available states, actions, and models for any API-capable adapter or selector in your PingFederate environment
-
Browse to the URL of the Authentication API Explorer, as in the following example.
https://localhost:9031/pf-ws/authn/explorer
-
From the Authentication Adapter/Selector list, select an
authentication adapter or selector.
Based on your selection, the Authentication API Explorer displays a list of states. You can then inspect the following items for any given state:
- The state purpose
- The state data model (if any)
- The available action of actions (if any)
- The action data model (if any) for a given action
- The errors (if any) for a given action
The developers of your web applications use this information to create the desired authentication experience.
Explore the authentication API through a request without an authentication policy
-
Configure a use case to use an instance of the HTML Form Adapter for
authentication.
For example, you can create an SP connection that uses an instance of the HTML Form Adapter for authentication. For more information, see Configuring a sample use case.
- Go to Authentication > Integration > Authentication API Applications.
- From the Default Authentication Application list, select the authentication application that represents the Authentication API Explorer. Click Save.
-
Initiate a request supported by the use case you configured in step 11.
When PingFederate receives your request, it gathers from your use case that it should invoke the HTML Form Adapter. Because the HTML Form Adapter is API-enabled and you have configured the Authentication API Explorer to be the default authentication application, instead of returning the Sign On window (from the HTML Form Adapter), PingFederate redirects the browser to the Authentication API Explorer with a flowid query parameter. For example: https://localhost:9031/pf-ws/authn/explorer?flowId=Tt9n7.
The Authentication API Explorer opens and pre-populates the Flow ID field with the flow ID value generated by PingFederate,
Tt9n7
in the above example. -
In the Authentication API Explorer, click Get next to the pre-populated flow ID
value.
The Authentication API Explorer displays a JSON response as the result of the GET request. This response contains information that the web application requires to proceed further. For instance, the status parameter value indicates the current state of the request. Because the sample request invokes the HTML Form Adapter, the current state should be USERNAME_PASSWORD_REQUIRED.
At the end of the result is a hyperlink to the current state. In this example, when you select the current state link, the Authentication API Explorer jumps to the USERNAME_PASSWORD_REQUIRED state and expands its contents for further review.
From this point, you can review the state data model and move the request further by selecting the appropriate action and action data, if it is required.
Explore the authentication API through a request with an authentication policy
- Go to Authentication > Integration > Authentication API Applications.
-
From the Default Authentication Application list, select
Select.
As a result, PingFederate does not designate a default authentication application.
-
Define an authentication policy to use the Authentication API Explorer:
- On Authentication > Policies > Policies, click Add Policy.
- Enter a policy name and optionally a description.
- From the Authentication Application list, select the authentication application that represents the Authentication API Explorer.
-
Select the HTML Form Adapter instance that has been mapped to your use case
in step 11.
For both the Fail and Success policy paths, select Done.
- Click Done.
- Select the IdP Authentication Policies check box.
- Click Save.
- Initiate a request supported by the use case you configured in step 11.
- Use the Authentication API Explorer to learn more about the authentication API.
Generate a Postman collection file
-
Browse to the URL of the Authentication API Explorer as in
the following example.
https://yourpingfederatebaseURL:xxxx/pf-ws/authn/explorer
- Click the orange Postman Collection button.
- Navigate to the location where you want to save the postman_collection.json file. Then click Save.
- Open Postman and import the file.
-
In Postman, manually configure the following:
- The
flowid
collection variable. When PingFederate receives a request, it generates theflowid
and displays it in the Flow ID field on the Authentication API Explorer window; for example,Tt9n7
. - The
baseUrl
collection variable. This is the base URL of your Authentication API Explorer; for example: https://localhost:9031. - The PingFederate cookie.
You must also modify the body, if one exists, to ensure that API calls work correctly.
- The