Prove Identity Implementation Guide
Review the steps for implementing Prove Identity.
This guide provides step-by-step instructions to integrate Prove-Identity®. There are separate guides for both server-side and client-side implementations available. Prove provides server SDKs in the following languages: Java, TypeScript/JavaScript, and Go. If you use a different backend language, you can easily interact with the REST APIs.
In order to integrate Prove Identity solutions, you must use one of the client-side SDKs.
Prove Sandbox Credentials
Before you begin implementing, ensure you have Prove Sandbox credentials from the Developer Portal. To access Sandbox credentials, follow the steps outlined on the Authentication and Testing page.
Implementation
These instructions assume you are using the server-side SDK. If you are using the REST APIs instead, you can easily call the respective endpoints.
Step | Client-Side | Server-Side |
---|---|---|
Start | If implementing MobileAuth℠: You will need to prompt the consumer to accept the US carrier (MNO) terms and conditions in order to utilize Mobile Auth℠ to verify a consumer. | |
On submit, the form calls an endpoint on your backend server to pass in any consumer-submitted data. It also passes in the flowType of either mobile or desktop . | ||
Setup the SDK with the OAuth client ID and client secret from Portal to handle authentication for all server-side calls. If you are using a different backend language and calling the APIs directly, make a call to the /token endpoint in order to generate the OAuth token. | ||
Call 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. | ||
Save 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. | ||
Setup the authenticator and the associated functions for Instant Link, one-time password (OTP), and Auth Finish Step. The Instant Link function will prompt for a phone number from the consumer and then return in the callback. The OTP functions will prompt for the phone number as well as the OTP and then return in the callbacks. The Auth Finish step will make a call to your backend server which then calls the server-side SDK Validate() function. | ||
Pass the authToken to the client-side SDK Authenticate() function. Once the client-side possession work is complete, the flow moves to the Auth Finish step. | ||
Call 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 Identity® handling If the API returns success=true : the next field will return v3-complete . Return a response to the client-side with no user data. | ||
Prompt the consumer to manually input their information in the form. | ||
On submit, the form calls an endpoint on your backend server to pass in the consumer information. | ||
Call 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 Identity® handling |
Test Your Prove Implementation
Once your implementation is complete, follow the Sandbox test scenarios with each of the Sandbox test users to ensure both success and failure states are working properly.
Launch Steps
Please reference the Production Launch Steps to request your Production credentials.