FaceAuthenticator
Importing SDK
To use Sdk, you can either remotely import the .js
file or download it locally.
Remotely
Include the .js
file directly from the CDN:
You can retrieve the class from the SDK using the following code:
Initialization
initializeSdk(token: string, sdkContainer: string, useFaceAuthenticator: boolean, personId: string, options: any)
initializeSdk(token: string, sdkContainer: string, useFaceAuthenticator: boolean, personId: string, options: any)
The SDK has an isolated initialization method, to allow greater control over when it occurs.
During this process, the SDK will initialize its internal variables and download the resources it needs to run.
[!]You must call this method before using other SDK methods.
Supported Parameters
Authentication token for consuming the SDK.
Yes.
sdkContainer
Id of the container where the SDK will be inserted.
Yes.
useFaceAuthenticator
Flag indicating whether to use FaceAuthenticator.
No. The default is false
personId
Document number used as a unique identifier for each user.
Yes.
options.timeExpiresUrl
Customizing the expiration time of the image Url returned by Sdk.
No. The default is 30 minutes, the accepted values are 3H
or 30D
.
options.settings.
filter
Image capture filter customization.
No. The default is shaded
options.settings.
language
Language customization.
No. The default is pt_BR
options.permissionButton.label
Customize the camera permission button text.
No.
options.permissionButton.color
Customize the camera permission button text color.
No.
options.permissionButton.backgroundColor
Customize camera permission button background color.
No.
options.permissionButton.borderRadius
Customize camera permission button border radius.
No.
options.permissionButton.border
Customize camera permission button border.
No.
options.startButton.label
Customize sdk start button text.
No.
options.startButton.color
Customize sdk start button text color.
No.
options.startButton.backgroundColor
Customize sdk start button background color.
No.
options.startButton.borderRadius
Customize sdk start button border radius.
No.
options.startButton.border
Customize sdk start button border.
No.
Example
Filter
Filter configuration for camera preview. It can be classic
, shaded
(additional detail, the default), vibrant
(full color), clear
(no filter) and blur
(starts blurred).
Language
Through the language
parameter, the application language can be changed, the default value is pt_BR
, check the availability below:
Parameter
Language
cy_GB
Welsh.
de
German.
en
English.
es
Spanish.
fr
French.
it
Italian.
nl
Dutch.
pt_BR
Portuguese.
Iframe
To perform integration through an iframe, camera and fullscreen permissions must be provided.
Webview
To use the SDK through a Webview, camera permission must be granted in your native application.
Example implementation on Android.
AndroidManifest.xml
MainActivity
Sample android project for webview implementation, in addition it is necessary to be able to open the application in full screen, the example shows how to configure it correctly.
Opening and taking selfies
execute()
execute()
The method used to load the SDK onto the screen and perform selfie capture.
It will initialize the video stream (requesting permissions if needed) and load it into the container.
Example
Return
Field
Type
Description
signedResponse
string
Signed response from the CAF server confirming that the captured selfie has a real face. This parameter is used to get an extra layer of security, checking that the signature of the response is not broken, or caused by request interception. If it is broken, there is a strong indication of request interception.
Example
Signed response params
Event
Description
requestId
Request identifier.
isAlive
Validation of a living person, identifies whether the user passed successfully or not.
isMatch
Face match validation result.
token
Request token.
userId
User identifier provided for the request.
imageUrl
Temporary link to the image, generated by our API.
personId
User identifier provided for the SDK.
sdkVersion
Sdk version in use.
iat
Token expiration.
message
Return message.
The isAlive parameter is VERY IMPORTANT, based on it validation must be carried out to continue with the flow or not, in the case of isAlive: true
your user can continue with the journey, in the case of isAlive: false
, this user is not valid and should be barred from the rest of the journey. Furthermore, the isMatch parameter indicates whether the Face Match passed successfully or not, returning isMatch: true
in case of success and false
in case of failure.
Events
Currently the SDK emits three types of events:
Event
Description
started
Capture stream initialization.
sdk-button-ready
SDK components have been loaded and ready to use.
passed
Image capture was successful.
failed
Image capture failed.
error
An error occurred during the capture process.
streaming
streaming started, full screen start.
streamed
End of streaming, closing full screen.
canceled
Capture flow cancellation.
permission
Camera permission is requested.
permission_denied
Camera permission was denied.
unsupported
Browser does not support Sdk.
Error event details
The error event is of customEvent type, therefore, if you wish to obtain details regarding the reason for the error, you can consume the event.detail where you will find the following descriptions.
unknown
Try again
client_camera
There was an error getting video from the camera
client_error
An unknown error occurred
error_asset_fetch
Unable to fetch assets
error_camera
The camera cannot be started for unknown reasons
error_camera_in_use
The camera is already in use and cannot be accessed
error_camera_not_supported
The camera resolution is too small
error_camera_permission_denied
The user denied our camera permission request
error_device_motion_denied
The user denied our device motion permission request
error_device_motion_unsupported
Your device does not seem to fully report device motion
error_fullscreen_change
Exited fullscreen without completing iProov
error_invalid_token
The token is invalid
error_network
Network error
error_no_face_found
No face could be found
error_not_supported
The device or integration isn't able to run the Web SDK
error_server
An error occurred when communicating with iProov's servers
error_token_timeout
The token was claimed too long after being created
error_too_many_requests
The service is under high load and the user must try again
error_user_timeout
The user started the claim but did not stream in time
integration_unloaded
The SDK was unmounted from the DOM before it finished
sdk_unsupported
The SDK has passed end of life and is no longer supported
Example error event listener
Last updated