PingOne DaVinci

Integrating Flows into Applications

After you create a flow, integrate it into a user-facing application. Integrating a flow into an application lets your users launch the flow from that application.

You can integrate a flow in different ways. Each method launches the flow in a different way. Choose an integration method based on the type of flow that you want to launch and the desired user experience.

The following methods can be used to launch a flow:

  • A redirect through PingOne. This method uses a call to a PingOne application to launch a flow with a redirect. This method is effective for flows with UI components. You should use a redirect through PingOne if you want to launch the flow in a new application page that replaces the current page and if you want to use OpenID Connect (OIDC) or Security Assertion Markup Language (SAML) authentication.

  • A redirect through PingOne using DaVinci as an external identity provider (IdP). This method uses a call to a PingOne application to launch a flow with a redirect using an external IdP configuration. This method is effective for flows with UI components, but it’s not recommended unless you have already configured your environment for it. If you want to configure your environment to launch flows with a redirect through PingOne, use this procedure instead.

  • The widget. This method launches a flow inside of a widget on the current page. This method is effective for situations in which you do not want to redirect the user to a new URL.

  • An API call. This method launches a flow using an API call. This method is effective for flows without a UI component.

  • The SDK. This method launches a flow from an application that you develop using the DaVinci module for the Ping SDK for JavaScript, Ping SDK for iOS, or Ping SDK for Android. This method is appropriate if you want fine-grained control of a user’s mobile experience.

  • The PingFederate integration. This method uses the widget to launch a flow from an existing PingFederate deployment.

To switch between using flows for a PingOne redirect integration and an integration using the DaVinci widget, refer to Switching between PingOne and DaVinci widget integrations.

Integration method comparison

Description

Redirect

Launches flow in new browser tab

Widget

Launches flow within current browser tab

API

Launches flow without UI components using API call

SDK

Launches flow from native or web apps using the Ping SDKs from a PingOne application

DaVinci Integration Kit for PingFederate (widget mode)

Launches flow within current browser tab

DaVinci Integration Kit for PingFederate (API mode)

Launches flow without UI components using API call

Trigger

Redirect

PingOne Policy link

Widget

Widget embedded in application

API

API Call

SDK

Launch from within SDK application

DaVinci Integration Kit for PingFederate (widget mode)

PingFederate authentication policy initiates DaVinci Integration Kit adapter in widget-based flow mode

DaVinci Integration Kit for PingFederate (API mode)

PingFederate authentication policy initiates DaVinci Integration Kit adapter in API-based flow mode

UX Hosted By

Redirect

DaVinci

Widget

Application that launched the flow

API

None

Launching application must handle UX

SDK

Custom application built with the SDK

DaVinci Integration Kit for PingFederate (widget mode)

PingFederate

DaVinci Integration Kit for PingFederate (API mode)

None

DaVinci adapter in API-based flow mode does not present a UI

HTML

Redirect

DaVinci using PingOne Forms or Custom HTML

Widget

DaVinci with Custom HTML

API

None

Launching application must handle UX

SDK

Launching application must handle UX

DaVinci Integration Kit for PingFederate (widget mode)

DaVinci Integration Kit template

DaVinci Integration Kit for PingFederate (API mode)

None

DaVinci adapter in API-based flow mode does not present a UI

CSS

Redirect

DaVinci

Widget

Host application

API

None

Launching application must handle UX

SDK

Launching application must handle UX

DaVinci Integration Kit for PingFederate (widget mode)

DaVinci Integration Kit template

DaVinci Integration Kit for PingFederate (API mode)

None

DaVinci adapter in API-based flow mode does not present a UI

User Experience

Redirect

User’s browser tab is redirected to DaVinci with refresh

Widget

Flow is launched within the host application

API

None

Launching application must handle UX

SDK

Flow is launched within the application

DaVinci Integration Kit for PingFederate (widget mode)

Flow is launched within PingFederate

DaVinci Integration Kit for PingFederate (API mode)

None

DaVinci adapter in API-based flow mode does not present a UI

Modes

Redirect

Full screen

Widget

Embedded in host application or modal

API

None

Launching application must handle UX

SDK

Depends on launching application

DaVinci Integration Kit for PingFederate (widget mode)

Embedded in DaVinci Integration Kit template

DaVinci Integration Kit for PingFederate (API mode)

None

DaVinci adapter in API-based flow mode does not present a UI

Developer Experience for Launching Flows

This applies only to launching flows. Flow creation is equally complex for all methods.

Redirect

No development skills needed

Flow hosted in DaVinci

Widget

Minimal development effort

Flow is a component in existing application

API

Significant development effort

SDK

Significant development effort

DaVinci Integration Kit for PingFederate (widget mode)

Minimal development effort

  • Template presents flow

  • Customizations optional

DaVinci Integration Kit for PingFederate (API mode)

No development skills needed

Flow result data is available in PingFederate authentication policy

Time Required

Redirect

Fastest

Widget

Fast

API

Slow

SDK

Slow

DaVinci Integration Kit for PingFederate (widget mode)

Fast (with existing PingFederate deployment)

DaVinci Integration Kit for PingFederate (API mode)

Fastest (with existing PingFederate deployment)