Orchestration SDKs

Configuring the DaVinci module

PingOne JavaScript


Configure DaVinci module for JavaScript properties to connect to PingOne and step through an associated DaVinci flow.

The following shows a full DaVinci module configuration:

Configure DaVinci module connection properties
import { davinci } from '@forgerock/davinci-client';

const davinciClient = await davinci({
  logger: {
    level: 'warn',
    custom: customLogger,
  },
  config: {
    clientId: '6c7eb89a-66e9-ab12-cd34-eeaf795650b2',
    serverConfig: {
      wellknown: 'https://auth.pingone.com/3072206d-c6ce-ch15-m0nd-f87e972c7cc3/as/.well-known/openid-configuration',
      timeout: 3000,
    },
    scope: '"openid", "email", "address", "profile", "phone"',
    responseType: 'code',
  },
});

The following properties are available for configuring the DaVinci module for JavaScript:

confg{} Properties
Property Description Required?

serverConfig

An interface for configuring how the SDK contacts the PingAM instance.

Contains wellknown and timeout.

Yes

serverConfig: {wellknown}

Your PingOne server’s .well-known/openid-configuration endpoint.

Example:

https://auth.pingone.com/3072206d-c6ce-ch15-m0nd-f87e972c7cc3/as/.well-known/openid-configuration

Yes

serverConfig: {timeout}

A timeout, in milliseconds, for each request that communicates with your server.

For example, for 30 seconds specify 30000.

Defaults to 5000 (5 seconds).

No

clientId

The client_id of the OAuth 2.0 client profile to use.

For example, 6c7eb89a-66e9-ab12-cd34-eeaf795650b2

Yes

scope

A list of scopes to request when performing an OAuth 2.0 authorization flow, separated by spaces.

For example, "openid", "email", "address", "profile", "phone".

No

responseType

The type of OAuth 2.0 flow to use, either code or token.

Defaults to code.

No

logger{} Properties
Property Description Required?

level

Specify what level of logging the Orchestration SDK should output.

Select one of the following:

  • none

  • error

  • warn

  • info (the default)

  • debug

No

custom

Specify a custom logger the Orchestration SDK should use to output messages.

Example:

customLogger

No