Implementation Guide

Review the steps for implementing Pre-Fill.

This guide provides step-by-step instructions to integrate Prove Pre-Fill® or Prove-Identity®. There are separate guides for both server-side and client-side implementations available. We provide server SDKs in the following languages: Java, TypeScript/JavaScript, and Go. If your backend language is not currently supported, you can easily interact with our REST APIs.

Note: In order to integrate Prove solutions, you must use one of our client-side SDKs.

Prerequisites:

Generate Prove Sandbox Credentials

Before you begin implementing, ensure you have Prove Sandbox credentials handy from <https://portal.prove.com>. If you have not already generated Sandbox credentials, follow these steps:

  • Navigate to: https://portal.prove.com/en/signup.
  • Fill in your information and complete the signup process.
  • Once logged in, click "Integrate Pre-Fill now".
  • Click "New Project".
  • Type in a project name and click "Save".
  • On the newly created project, click the ellipsis (3 vertical dots) and then click "Access Credentials".
  • Click the "Credentials" tab.
  • Save these Sandbox credentials (Client ID and Client Secret). You will need them for step 3 below.

Test Prove Sandbox Credentials

Now that you have your Prove sandbox credentials, we recommend testing our APIs using one of the following methods with test user Milo Pinson (Milo is the only test user that does not require Prove Link Client Side SDK implementation to test a full flow). You can use


Begin Implementing Prove:

These instructions assume you are using the Server-Side SDK. If you are using our APIs instead, you can easily call the respective endpoints.

StepClient-SideServer-Side
Start
1Create or update your first screen to prompt for: Phone Number and Challenge Data (last 4 SSN/full SSN/DOB)
2On submit, the form should call an endpoint on your backend server to pass in the consumer-submitted data. It should also pass in the "flowType" of either "mobile" or "desktop".
3Setup the SDK with the OAuth client ID and client secret from Portal to handle authentication for all server-side calls.

If your backend language is not supported and you are calling the APIs directly, you will need to make a call to the /token endpoint in order to generate the OAuth token.
4Call the server-side SDK Start() function to pass in the data to start the session. The call will return a one-time use authToken and a correlation ID.
5Save the correlation ID in your session (you’ll use the correlation ID in the Validate, Challenge, and Complete calls for the same consumer session) and then return the authToken to your client-side.
6Setup the authenticator and the associated functions for Instant Link, OTP, and Auth Finish Step. The Auth Finish step should make a call to your backend server which then calls the server-side SDK Validate() function.
7Pass the authToken to the client-side SDK Authenticate() function. Once the client-side possession work is complete, the Auth Finish step will be called.
Validate
8Call the server-side SDK Validate() function to complete the possession and reputation checks. The Validate response will return both the phone number and the “next” field indicating which API to call next.

If the API returns success=false, then run your exception process: Prove Pre-Fill® handling

If the API returns success=true: the “next” field should return “v3-challenge”.
Challenge
9Call the server-side SDK Challenge() function.

The API will return the success=true with the user information if Prove can authenticate the consumers identity information with enough trust and assurance. Return user data in a response to the client-side.

Otherwise it will return success=false with no user information. Return no user data in a response to the client-side.
10If consumer information was returned from Challenge response, pre-fill the form with the information. Otherwise, prompt the consumer to manually input their information in the form.
11On submit, the form should call an endpoint to your backend server to pass in the consumer information.
Complete
12Call the server-side SDK Complete() function to pass in the data to verify the user information.

If the API returns success=true, continue with the onboarding activity.

If the API returns success=false, run your exception process: Prove Pre-Fill® handling

Test your Prove Implementation

Once your implementation is complete, we recommend you walkthrough our Sandbox test scenarios with each of the Sandbox test users to ensure both success and failure states are working properly.


Congratulations! You've integrated Prove into your application.

👍

Available for Check Out via Self-Serve!

Please reference our Production Launch Steps to request your Production credentials