Configure an External Identity Provider to Call a DaVinci Flow
This activity shows you how to create an OIDC external identity provider and configure the identity provider to authenticate a user through a DaVinci flow. You’ll create an application, the OIDC identity provider, a login sign-on policy, and initiate an authorization request. The authorization request will return a 302 Location response, and you will copy the URL in that Location header and use it to launch the flow.
The following operations are supported by the PingOne APIs:
-
Create an application
-
Create the OIDC external identity provider
-
Create a sign-on policy
-
Create a login sign-on policy action
-
Initiate an authorize request
DaVinci prerequisites
This workflow requires the following resources in DaVinci. You will use the IDs for these resources to configure the PingOne OIDC external identity provider endpoint:
-
A DaVinci application with its OIDC
redirect_URIproperty set tohttps://auth.pingone.com/{{envID}}/rp/callback/openid_connect.-
The application ID
-
The application secret
-
-
A DaVinci flow (enabled, that runs in the DaVinci flow preview).
-
The flow ID (required to create the DaVinci flow policy)
-
-
A DaVinci flow policy associated with the DaVinci flow and app.
-
The flow policy ID
-
PingOne 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, refer to Get a PingOne access token.
|
The request body to create the OIDC external identity provider includes a registration object that requires a population ID. This workflow does not include a request to create a new population. If you do not have a test population in your environment, refer to Create Populations in the PingOne API Reference to create one. Also, if you want to log in after accessing the DaVinci external identity provider sign-on flow, you’ll need a test user. This workflow does not include the steps to create a user and set the user’s password. For information about creating an updating users, refer to User operations in the PingOne API Reference. |
Workflow order of operations
To configure and external identity provider that uses a DaVinci sign-on flow, you must complete the following tasks:
-
Make a
POSTrequest to/environments/{{envID}}/applicationsto add a new application to the specified environment. -
Make a
POSTrequest to/environments/{{envID}}//identityProvidersto create the OIDC identity provider configuration. -
Make a
POSTrequest to/environments/{{envID}}/signOnPoliciesto create a new sign-on policy. -
Make a
POSTrequest to/environments/{{envID}}/signOnPolicies/{{policyID}}/actionsto define the login action associated with this sign-on policy. -
Make a
POSTrequest to/environments/{{envID}}/applications/{{appID}}/signOnPolicyAssignmentsto associate the sign-on policy with the application. -
Make a
GETrequest to/{{envID}}/as/authorizeto obtain theLocationheader that contains the URL to launch the sign-on flow in a browser window. -
After you copy the
LocationURL, you will open a browser window and paste the URL into the Address field. On the PingOne sign-on screen, click the Sign on with PingOne DaVinci button. This action launches your DaVinci sign-on flow as the external identity provider.
Click the Run in Postman button below to fork, or download and import, the Postman collection for this workflow to your workspace.