Exploring the authentication API - PingFederate - 10.2

PingFederate Server

bundle
pingfederate-102
ft:publication_title
PingFederate Server
Product_Version_ce
PingFederate 10.2
category
Product
pf-102
pingfederate
ContentType_ce

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

  1. Go to Authentication > Integration > Authentication API Applications.
  2. Select the Enable Authentication API check box.
  3. Select the Enable API Explorer check box.

Configure an authentication application for the Authentication API Explorer

  1. Go toAuthentication > Integration > Authentication API Applications.
  2. Click Add Authentication Application.
  3. 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: https://localhost:9031/pf-ws/authn/explorer

    You can find your PingFederate base URL at System > Server > Protocol Settings > Federation Info.
    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.

  4. On the Authentication Application window, click Save.
  5. 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

  1. Browse to the URL of the Authentication API Explorer, such as https://localhost:9031/pf-ws/authn/explorer
  2. 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

  1. 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.

  2. Go to Authentication > Integration > Authentication API Applications.
  3. From the Default Authentication Application list, select the authentication application that represents the Authentication API Explorer. Click Save.
  4. 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.

  5. 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

  1. Go to Authentication > Integration > Authentication API Applications.
  2. From the Default Authentication Application list, select Select.

    No application is designated as the default authentication application.

  3. Define an authentication policy to use the Authentication API Explorer:
    1. On Authentication > Policies > Policies, click Add Policy.
    2. Enter a policy name and optionally a description.
    3. From the Authentication Application list, select the authentication application that represents the Authentication API Explorer.
    4. 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.

    5. Click Done.
    6. Select the IdP Authentication Policies check box.
    7. Click Save.
  4. Initiate a request supported by the use case you configured in step 11.
  5. Use the Authentication API Explorer to learn more about the authentication API.

Generate a Postman collection file

  1. Browse to the URL of the Authentication API Explorer, such as https://yourpingfederatebaseURL:xxxx/pf-ws/authn/explorer.
  2. Click the orange Postman Collection button.
  3. Navigate to the location where you want to save the postman_collection.json file, and then click Save.
  4. Open Postman and import the file.
  5. In Postman, manually configure the following:
    • The flowid collection variable. When PingFederate receives a request, it generates the flowid 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, such as https://localhost:9031.
    • The PingFederate cookie.

    You must also modify the body, if one exists, to ensure that API calls work correctly.