Learn how to integrate the client-side web SDK into your web application
@prove-identity/mobile-auth
. Install the client-side SDK of your choice by running a command in your terminal, or by using a dependency management tool specific to your project.
isMobile
is true, pass mobile
to the Start()
function on the server, otherwise you can pass desktop
:
AuthFinishStep
function finishes.
In the desktop flow, a WebSocket opens for three minutes on the desktop browser while waiting for the customer to select the link in the text message. Once clicked, the WebSocket closes and the AuthFinishStep
function finishes.
Authenticate()
authToken
as a parameter for the Authenticate()
function. This token returns from the Start()
call of the server-side SDK. The token is session specific, limiting it to a single flow. It also expires after 15 minutes.
authToken
authToken
, build the authenticator for both the mobile and desktop flows.
https://device.uat.proveapis.com:4443
https://device.uat.proveapis.com
http://device.uat.proveapis.com:4443
http://device.uat.proveapis.com
https://device.proveapis.com:4443
https://device.proveapis.com
http://device.proveapis.com:4443
http://device.proveapis.com
https://auth.svcs.verizon.com:22790
AuthFinishStep
, you’ll specify a function to call once the possession checks complete on the mobile phone. This endpoint on your back end server calls the Unify-Status()
function to validate the phone number. The AuthFinishStep then completes. In the event of cancellation, the server makes a call to the Unify-Status()
function and returns success=false
.
withOtpFallback(startStep: OtpStartStep | OtpStartStepFn, finishStep: OtpFinishStep | OtpFinishStepFn)
, requires implementing the OtpStartStep
and OtpFinishStep
. When returning the phone number in the functions, ensure you return an object with the field phoneNumber
to the resolve()
function. The default implementation is below, but you can also view the other tabs if you wish to enable advanced capabilities.
The OTP session has a two minute timeout from when it’s sent through Short Message Service (SMS) to when the customer can enter in the OTP.
/v3/start
endpoint. In this case, you’ve already prompted for a phone number so you don’t need to prompt for it in the client SDK.Since you passed the phone number in the Start()
function, call resolve(null)
to communicate to the SDK you have the customer’s agreement to deliver the SMS message. Ensure you return an object to resolve()
function.reject('some error message')
method to communicate to the SDK any issues while trying to obtain the phone number or the OTP. Report an error if the customer cancels the SMS transaction or presses the back button to leave the screen.In the finish step, call the resolve(result: OtpFinishResult)
method to return the collected OTP value in which result
variable has OnSuccess
value for OtpFinishResultType
and the OTP value wrapped in OtpFinishInput
.withInstantLinkFallback(startStep: InstantLinkStartStep | InstantLinkStartStepFn, retryStep?: InstantLinkRetryStep | InstantLinkRetryStepFn)
requires implementing the InstantLinkStartStep
interface and optionally the InstantLinkRetryStep
interface if you wish for advanced capabilities. When returning the phone number in the functions, ensure you return an object with the field phoneNumber
to the resolve()
function.
The Instant Link session has a three minute timeout from when it’s sent through Short Message Service (SMS) to when the customer can click the received link.
/v3/start
endpoint. In this case, you’ve already prompted for a phone number so you don’t need to prompt for it in the client SDK.Since you passed the phone number in the Start()
function, call resolve(null)
to communicate to the SDK you have the customer’s agreement to deliver the SMS message. Ensure you return an object to resolve()
function.