ping-identity
    Preparing search index...

    Function createDaVinciClient

    DaVinci client factory for creating imperative native-backed clients.

    • Creates a native-backed DaVinci client instance.

      Parameters

      Returns DaVinciClient

      A DaVinciClient handle for driving DaVinci flows.

      The native workflow instance is configured lazily on the first method call. All OIDC fields are sourced from config.modules.oidc; transport and logging options (timeout, logger) are top-level and map to WorkflowConfig.

      TODO-SDK-FUTURE-SUPPORT: Both SDKs resolve a server field to a collector by looking up inputType first and falling back to type (Android CollectorFactory.collector(), iOS CollectorFactory.collector(daVinci:from:)). In practice DaVinci payloads always carry inputType, so the iOS-only registrations for FLOW_BUTTON / FLOW_LINK / DROPDOWN / RADIO / COMBOBOX / CHECKBOX behave as redundant aliases — payloads with those type values still resolve via their inputType (ACTION / SINGLE_SELECT / MULTI_SELECT) on Android. The genuine gap is for field types where neither inputType nor type matches a registered entry on a given platform (e.g. SINGLE_CHECKBOX, AGREEMENT, or any future server-only types). Those are surfaced to JS via ContinueNode.unsupportedFields on both platforms so consumers can detect them and render a placeholder, log, or block submit rather than silently missing inputs. Re-evaluate once the SDKs add registrations for any newly server-introduced field types.

      When required configuration fields are missing or invalid.

      const client = createDaVinciClient({
      modules: {
      oidc: {
      discoveryEndpoint: 'https://auth.example.com/.well-known/openid-configuration',
      clientId: 'my-client-id',
      redirectUri: 'myapp://callback',
      },
      },
      });

      const node = await client.start();