Connectors

FingerprintJS Connector

The FingerprintJS connector lets you create a unique visitor ID based on browser attributes for use in fraud and analytics in your PingOne DaVinci flow.

This connector enables browser fingerprinting to stop fraud, spam, and account takeovers.

You can use the FingerprintJS connector to:

  • Provide a single sign-on (SSO)-like experience across multiple nodes in a flow.

  • Implement risk intelligence through browser fingerprinting.

Setup

Resources

For information and setup help, see the following:

Requirements

To use the connector, you’ll need:

  • A configured FingerprintJS environment

  • Your FingerprintJS API keys

Configuring the FingerprintJS connector

Add the connector in DaVinci as shown in Adding a connector, then configure it as follows.

Connector configuration

Fingerprint Subscription Browser Token

A public API key from FingerprintJS. This key can be found in your FingerprintJS environment under App Settings > API Keys.

Fingerprint Subscription API Token

TA secret API key from FingerprintJS. This key can be found in your FingerprintJS environment under App Settings > API Keys.

JavaScript CDN URL

A CDN URL for the FingerprintJS element.

Using the connector in a flow

Visitor ID creation

You can use the Get a visitor’s ID capability to create a unique ID for a user. No special flow configuration is needed. Add the capability and populate its properties according to the help text.

Information through visitor’s ID

You can use the Get visitor’s info based on ID capability to get visitor information, such as their ID, IP address, browser, and whether incognito mode is being used. No special flow configuration is needed. Add the capability and populate its properties according to the help text.

Capabilities

Get Visitor’s ID

Show details
  • Input Schema

  • Output Schema

  • default object

    • properties object

      • token string required minLength: 0 maxLength: 100

      Fingerprint JS Subscriber Token

      • javascriptCdnUrl string required

    Fingerprint JS javascript URL

Input Example

 { "properties" :
  {  } }
  • output object

    • requestId string required

    • visitorId string required

    • visitorFound boolean required

    • meta null required

Output Example

 { "requestId" : "1619596982579.qsyvOp",
  "visitorId" : "oUT1HXUBaQZ9RwdF5xCX",
  "visitorFound" : true,
  "meta" : null }

Get Visitor’s Info based on ID

Get Visitor information such as ID, incognito mode, IP, browser, etc.

Show details
  • Properties

  • Input Schema

  • Output Schema

Visitor ID textField required
  • default object

    • properties object

      • apiToken string required minLength: 0 maxLength: 100

      Fingerprint JS Subscriber API Token

      • visitorId string required minLength: 0 maxLength: 100

    Fingerprint JS visitor id

Input Example

 { "properties" :
  { "visitorId" : "visitor-id" } }
  • output object

    • visitorId string required

    • visits array required

      • Array Item Schema object

        • requestId string required

        • incognito boolean required

        • linkedId string required

        • time string required

        • timestamp integer required

        • url string required

        • ip string required

        • ipLocation object required

          • accuracyRadius integer required

          • latitude number required

          • longitude number required

          • postalCode string required

          • timezone string required

          • city object required

            • name string required

          • continent object required

            • code string required

            • name string required

          • country object required

            • code string required

            • name string required

          • subdivisions array required

            • Array Item Schema object

              • isoCode string required

              • name string required

        • browserDetails object required

          • browserName string required

          • browserMajorVersion string required

          • browserFullVersion string required

          • os string required

          • osVersion string required

          • device string required

          • userAgent string required

    • lastTimestamp integer required

Output Example

 { "visitorId" : "Ibk1527CUFmcnjLwIs4A9",
  "visits" :
  [
   { "requestId" : "0KSh65EnVoB85JBmloQK",
    "incognito" : true,
    "linkedId" : "somelinkedId",
    "time" : "2019-05-21T16:40:13Z",
    "timestamp" : 1.582299576512E12,
    "url" : "https://www.example.com/login",
    "ip" : "61.127.217.15",
    "ipLocation" :
    { "accuracyRadius" : 10,
     "latitude" : 49.982,
     "longitude" : 36.2566,
     "postalCode" : "61202",
     "timezone" : "Europe/Dusseldorf",
     "city" :
     { "name" : "Dusseldorf" },
     "continent" :
     { "code" : "EU",
      "name" : "Europe" },
     "country" :
     { "code" : "DE",
      "name" : "Germany" },
     "subdivisions" :
     [
      { "isoCode" : "63",
       "name" : "North Rhine-Westphalia" } ] },
    "browserDetails" :
    { "browserName" : "Chrome",
     "browserMajorVersion" : "74",
     "browserFullVersion" : "74.0.3729",
     "os" : "Windows",
     "osVersion" : "7",
     "device" : "Other",
     "userAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64) ...." } } ],
  "lastTimestamp" : 1.582299576512E12 }