Configure a Progressive Profiling Sign-On Action

Number of APIs: 17

This activity shows you how to create a sign-on policy with a progressive profiling action, initiate an authorization request, and use the flow APIs to complete the progressive profiling action.

The following operations are supported by the PingOne APIs:

  • Create an application
  • Create a sign-on policy
  • Create login and a progressive profiling sign-on policy actions
  • Create a user
  • Initiate an authorize request
  • Use flow APIs to login the user and add a mobile phone number
  • Verify the addition of a mobile phone number to the user record

Prerequisites

Get an access token from the worker application that you created in Getting Started with the PingOne APIs. To get a token from a different worker application in an alternate sandbox environment, run the token request endpoint using the client ID and client secret of your chosen worker app to authenticate the request. For more information, see GET a Worker Application Access Token.

Workflow order of operations

To complete a progressive profiling flow, the following tasks must be completed successfully:

  1. Make a POST request to /environments/{{envID}}/applications to add a new application to the specified environment.

  2. Make a GET request to /environments/{{envID}}/applications/{{appID}}/secret to return the new application's secret attribute.

  3. Make a GET request to /environments/{{envID}}/resources to return a list of all resource entities associated with the specified environment to get the ID for the PingOne platform resource.

  4. Make a GET request to /environments/{{envID}}/resources/{{resourceID}}/scopes to list all scopes associated with a specified resource (the PingOne platform resource).

  5. Make a POST request to /environments/{{envID}}/applications/{{appID}}/grants to create a new resource access grant for the application.

  6. Make a POST request to /environments/{{envID}}/signOnPolicies to create a new sign-on policy.

  7. Make a POST request to /environments/{{envID}}/signOnPolicies/{{signOnPolicyID}}/actions to define the login action associated with this sign-on policy.

  8. Make a POST request to /environments/{{envID}}/signOnPolicies/{{signOnPolicyID}}/actions to define the progressive profiling action associated with this sign-on policy.

  9. Make a POST request to /environments/{{envID}}/applications/{{appID}}/signOnPolicyAssignments to associate the sign-on policy with the application.

  10. Make a POST request to /environments/{{envID}}/populations to create a new population resource.

  11. Make a POST request to /environments/{{envID}}/users to create a user who will be assigned to the new population resource.

  12. Make a POST request to /environments/{{envID}}/users/{{userID}}/password to set the new user's password.

  13. Make a POST request to /{{envID}}/as/authorize to obtain an authorization grant. This request starts the authorization flow.

  14. Make a GET request to /{{envID}}/flows/{{flowID}} to initiate the flow.

  15. To complete the login action, make a POST request to GET /{{envID}}/flows/{{flowID}} and provide the user's login credentials.

  16. To complete the progressive profiling action, make a POST request to GET /{{envID}}/flows/{{flowID}} and provide the user's mobile phone number.

  17. Make a GET request to /{{envID}}/as/resume?flowId={{flowID}} to call the resume endpoint and return the auth code.

  18. After the authorization flow completes, make a POST request to /{{envID}}/as/token to exchange the auth code for an access token.

  19. Make a GET request to /environments/{{envID}}/users/{{userID}} to view the updated information about the identified user.

  1. Step 4: Get all scopes GET {{apiPath}}/environments/{{envID}}/resources/{{p1ResID}}/scopes

  2. Step 5: Create the resource access grant POST {{apiPath}}/environments/{{envID}}/applications/{{AppWithPPID}}/grants

  3. Step 6: Create the new sign-on policy POST {{apiPath}}/environments/{{envID}}/signOnPolicies

  4. Step 12: Set user password PUT {{apiPath}}/environments/{{envID}}/users/{{progressiveProfileUserID}}/password

  5. Step 8: Create the progressive profiling sign-on policy action POST {{apiPath}}/environments/{{envID}}/signOnPolicies/{{ProgressiveProfilingPolicyID}}/actions

  6. Step 9: Assign the sign-on policy to an application POST {{apiPath}}/environments/{{envID}}/applications/{{AppWithPPID}}/signOnPolicyAssignments

  7. Step 10: Create a population for profile users POST {{apiPath}}/environments/{{envID}}/populations

  8. Step 17: Call the resume endpoint GET {{authPath}}/{{envID}}/as/resume?flowId={{flowID}}

  9. Step 13: Send an authorization request GET {{authPath}}/{{envID}}/as/authorize?response_type=code&client_id={{AppWithPPID}}&redirect_uri=https://www.google.com

  10. Step 14: Get the flow GET {{authPath}}/{{envID}}/flows/{{flowID}}