Integrations and ConnectorsConnectorsSetup GuidesFraud & Risk

Fingerprint Connector

Fingerprint (previously FingerprintJS) is a device detection platform that provides valuable information about the device. Fingerprint's key feature is its ability to generate a unique ID, often called a "device fingerprint", and permanently associate it with each device. Once the service identifies the device, it can provide crucial geoinformation, bot detection, VPN detection, and more. This connector provides the ability to automate threat detection in an authentication process with Descope and scare off unwelcome visitors to a platform.

Setting Up The Fingerprint Connector

To integrate the Fingerprint connector, follow the steps below:

  • Visit the Connectors page in the Descope Console.
  • Choose Fingerprint from the list of connectors.

Connector Setup

Set up the necessary inputs:

  • Connector name: Assign a custom name for your connector, especially useful when using multiple connectors originating from the same template.
  • (Optional) Connector description: A brief description of your connector's purpose.

Proceed by providing the connector Public API Key and Secret API Key, which are copied from Fingerprint's configuration page, the details for these keys can be found here:

  • Login to https://fingerprint.com/.
  • Go to "App Settings".
  • Go to the API Keys tab.

CloudFlare Integration

When a Descope flow uses the Fingerprint connector, it calls Fingerprint to establish or get a unique device ID. Toggle CloudFlare integration to configure Fingerprint's API calls to match your domain.

Integration with CloudFlare needs to be ready on Fingerprint read more.

  • Cloudflare integration Script URL: The Cloudflare integration Script URL (format example - https://api.company.com/fXj8gt3x8VulJBnb/w78aRZnnDZ3Aqw0v).
  • Cloudflare integration Endpoint URL: The Cloudflare integration Endpoint URL (format example - https://api.company.com/fXj8gt3x8VclJBna/x96Emn69oZwcd7I4).

Note

Make sure that the URLs are accessible.

Test & Save

The "Test" button allows you to test the configuration, ensuring it was successfully configured before using it in a flow. Note that it may take up to a minute for a new private key created in Fingerprint to work. Until then, you may face a failure response.

  • Conclude the setup process by selecting Create.

Implementing the Fingerprint Connector

Select or Create a Flow

Access your Dashboard and go to flows. You can choose an existing flow or generate a new one.

Integration

Click on the blue plus sign inside the flow builder and choose "Connector". You should be able to see the new connector actions as shown below:

fingerprint flow actions

Warning

Since fingerprinting is completed within the browser, the connector steps need to be added after at least one "screen" component has been displayed to the user.

Running the Fingerprint Script on a Specific Screen

By default, the Fingerprint script loads when the flow starts, in any flow that uses the Get Event action. To choose which screen runs the Fingerprint script, attach the Fingerprint connector to that screen:

  1. Open the screen in the flow editor.
  2. In the screen's settings, go to Actions > Connector.
  3. Select your Fingerprint connector.

Note

Each Fingerprint script run is a billed Fingerprint identification event. The Fingerprint script runs each time the screen is displayed, so attach the Fingerprint connector to a screen that users see only once per flow.

When the Fingerprint connector is attached to a screen:

  • The Fingerprint script runs each time the screen is displayed, and no longer loads when the flow starts.
  • Place the Get Event action after the screen that runs the Fingerprint script.
  • A screen can run one connector script. A screen that already uses another connector, such as Darwinium, cannot also run the Fingerprint script.

Risk Signals

When the Get Event action runs, the Fingerprint connector adds the following keys to the flow's riskInfo context. Flow conditions can check riskInfo keys directly instead of using raw JSON paths from the connector output.

Context KeySet to true when
riskInfo.botDetectedFingerprint detects a malicious bot
riskInfo.vpnDetectedFingerprint detects a VPN or a proxy
  • Bot detection, VPN detection, and proxy detection are Fingerprint Smart Signals, and availability depends on your Fingerprint plan. If Fingerprint does not return a signal, the Fingerprint connector leaves the matching riskInfo key unset instead of setting the key to false.
  • The keys combine with riskInfo values from other risk connectors in the flow. If any connector sets a key to true, the key stays true.
  • The full Fingerprint response remains available in the Get Event output for other signals.

Examples

Integrating one of the connector actions inside a flow can be used in various scenarios. Here is an example of a flow that utilizes the result as follows:

fingerprint flow example

fingerprint flow condition

The flow checks whether the user returned from a non-VPN origin and continues logging him in. This example uses the context key - connectors.fingerprint_getEvent.data.vpn.data.result

You can also check riskInfo.vpnDetected, which is broader than the Fingerprint VPN result. riskInfo.vpnDetected is also true when Fingerprint detects a proxy, or when Descope or another risk connector flags a VPN. See Risk Signals.

To read about the possible results from Fingerprint click here.

Was this helpful?

On this page