Face Authentication Explains how to integrate a face authentication
To perform a face authentication it is required to have already an "Identification" and its verification ID. The process consist in a liveness check of the user and a final check to verify the match with the identification.
Implementation
Create a FaceAuthenticationParams
object with authentication information and the verification id you want to verify
Start the verification with FaceAuthenticationActivity.startForResult
Handle result in onActivityResult
method
Example to Start a Face Authentication
Please update the below code with your Client ID and Client Secret from your Customer Dashboard .
We suggest to use the token authentication in production environment.
Java Kotlin
Copy void faceAuthentication( String verificationId) {
FaceAuthenticationParams faceAuthenticationParams = new FaceAuthenticationParamsWithClientSecret(
"< client id >" ,
"< client secret >" ,
verificationId
R . style . AuthenteqThemeBase // optional
) ;
FaceAuthenticationActivity . startForResult (
activity ,
MY_REQUEST_FACEAUTH_CODE ,
faceAuthenticationParams
);
}
@ Override
protected void onActivityResult( int requestCode , int resultCode , @ Nullable Intent data) {
if (requestCode == MY_REQUEST_FACEAUTH_CODE) {
if (resultCode == RESULT_OK) {
String code = FaceAuthenticationActivity . getResult (data);
// Check face authentication result with the CODE provided
} else {
Throwable throwable = FaceAuthenticationActivity . getError (data);
// Handle error
} else {
super . onActivityResult (requestCode , resultCode , data);
}
}
}
Copy fun faceAuthentication (verificationId: String ) {
val faceAuthenticationParams = FaceAuthenticationParamsWithClientSecret (
"< client id >" ,
"< client secret >" ,
verificationId
)
FaceAuthenticationActivity. startForResult (
this ,
MY_REQUEST_FACEAUTH_CODE,
faceAuthenticationParams
)
}
override fun onActivityResult (requestCode: Int , resultCode: Int , data : Intent ?) {
if (requestCode == MY_REQUEST_FACEAUTH_CODE) {
if (resultCode == Activity.RESULT_OK) {
FaceAuthenticationActivity. getResult ( data )?. let { code ->
// Check face authentication result with the CODE provided
}
} else {
FaceAuthenticationActivity. getError ( data )?. let { error ->
// Handle error
}
}
} else {
super . onActivityResult (requestCode, resultCode, data )
}
}
Authentication Token can be obtained with face authentication API and then specified with the FaceAuthenticationParams
as the following code:
Java Kotlin
Copy void faceAuthentication( String verificationId) {
FaceAuthenticationParams faceAuthenticationParams = new FaceAuthenticationParamsWithToken(
"< client id >" ,
"< token >" ,
verificationId
R . style . AuthenteqThemeBase // optional
) ;
FaceAuthenticationActivity . startForResult (
activity ,
MY_REQUEST_FACEAUTH_CODE ,
faceAuthenticationParams
);
}
Copy fun faceAuthentication (verificationId: String ) {
val faceAuthenticationParams = FaceAuthenticationParamsWithToken (
"< client id >" ,
"< token >" ,
verificationId
)
FaceAuthenticationActivity. startForResult (
this ,
MY_REQUEST_FACEAUTH_CODE,
faceAuthenticationParams
)
}
Authentication token can only be used for a single operation. Always generate a new token before start a new face authentication.
Get Face Authentication Result
With the code obtained from FaceAuthenticationActivity.getResult
it is possible to get the face authentication result using the following API:
Obtain the result of a face authentication
GET
https://api.app.authenteq.com/mobile-sdk/face-authentication-result
This endpoint is authorized with Basic Authorization. You should use your Client ID
and Client Secret
from the Customer Dashboard as the credentials.
Query Parameters
Name Type Description The code provided at the conclusion of SDK face authentication
Name Type Description Your client credentials combined with a colon separator, base64-encoded and prefixed with "Basic ".
200 401 Full authentication is required to perform document recognition. 403 The authenticated customer is disabled and cannot get a token.
Copy {
"accessToken": "81e4cbce-cdad-11eb-8fc3-784f4385af2b"
}
Copy {
"errorCode": "ACCOUNT_DEACTIVATED",
"errorMessage": "Account deactivated. Please contact your Authenteq Sales Representative in order to keep using this service"
}huiHjio
When successful the response will contain a single boolean property named success
: