React Native

Requirements

Installation of the Authenteq Flow npm requires React Native v0.61.5.

Getting started

Install the required NPM react-native-authenteq-flow:

$ npm install react-native-authenteq-flow --save

or

$ yarn add react-native-authenteq-flow

Optionally install the Live ID document scanner and its DB with the NPM:

  • react-native-authenteq-flow-docscanner

  • react-native-authenteq-flow-docscanner-db

For iOS setup check here. For Android setup check here.

Start an Identification

Import AuthenteqFlow in JS file before usage:

import AuthenteqFlow from 'react-native-authenteq-flow';

Start identification:

AuthenteqFlow
  .identification("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
  .then((res) => {
    console.log(res);
  }).catch((error) => {
    console.error(error);
  })

To use a token identification or specify a custom theme use identificationWithParameters specifying a dictionary:

AuthenteqFlow
  .identificationWithParameters({
     clientId: "YOUR_CLIENT_ID", 
     clientSecret: "YOUR_CLIENT_SECRET", 
     theme: {
        // iOS or Android custom theme 
     }
  })
  .then((res) => {
    console.log(res);
  }).catch((error) => {
    console.error(error);
  })

Parameter fields description:

Android theme property:

iOS theme properties:

Example of identification JSON output for single document (driver's license)

{
    "verificationId": "3EF7784D-CBBB-4737-98F9-322E895EC667",
    "selfieImageFilePath": "path/to/jpeg_file",
    "proofOfAddressFilePath": "path/to/document_file",
    "documents": [
        {
            "dateOfBirth": "1987-01-12",
            "dateOfExpiry": "2045-05-22",
            "dateOfIssue": "2015-05-22",
            "documentFrontImageFilePath": "path/to/jpeg_file",
            "documentBackImageFilePath": "path/to/jpeg_file",
            "documentNumber": "DXY191672",
            "documentType": "DL",
            "givenNames": "ANNA MARIA",
            "surname": "SCHMIDT",
            "surnameAndGivenNames": "SCHMIDT ANNA MARIA",
            "address": "2345 ANYPLACE AVE ANYTOWN NY 12345",
            "isEighteenPlus": true,
            "isSixteenPlus": true,
            "issuingCountry": "DEU",
            "isTwentyOnePlus": true,
            "licenseClass": "A1 A B1 B",
            "licenseClassDetails": {
                "A": {
                    "from": "2015-05-22"
                },
                "A1": {
                    "from": "2015-05-22"
                },
                "B": {
                    "from": "2004-08-27"
                },
                "B1": {
                    "from": "2004-08-27"
                }
            }
        }
    ]
}

Example of identification JSON output for multiple documents (passport and driver's license)

{
    "verificationId": "3EF7784D-CBBB-4737-98F9-322E895EC667",
    "selfieImageFilePath": "path/to/jpeg_file",
    "proofOfAddressFilePath": "path/to/document_file",
    "documents": [
        {
            "dateOfBirth": "1987-01-12",
            "placeOfBirth": "BERLIN",
            "dateOfExpiry": "2027-01-30",
            "documentFrontImageFilePath": "path/to/jpg_file",
            "documentNumber": "8136431812",
            "personalNumber": "123456",
            "documentType": "PP",
            "givenNames": "ANNA MARIA",
            "surname": "SCHMIDT",
            "surnameAndGivenNames": "SCHMIDT ANNA MARIA",
            "address": "2345 ANYPLACE AVE ANYTOWN NY 12345",
            "isEighteenPlus": true,
            "isSixteenPlus": true,
            "issuingCountry": "DEU",
            "issuingAuthority": "FOREIGN OFFICE",
            "isTwentyOnePlus": true,
            "nationality": "DEU",
            "sex": "F"
        },
        {
            "dateOfBirth": "1987-01-12",
            "dateOfExpiry": "2045-05-22",
            "dateOfIssue": "2015-05-22",
            "documentFrontImageFilePath": "path/to/jpeg_file",
            "documentBackImageFilePath": "path/to/jpeg_file",
            "documentNumber": "DXY191672",
            "documentType": "DL",
            "givenNames": "ANNA MARIA",
            "surname": "SCHMIDT",
            "surnameAndGivenNames": "SCHMIDT ANNA MARIA",
            "address": "2345 ANYPLACE AVE ANYTOWN NY 12345",
            "isEighteenPlus": true,
            "isSixteenPlus": true,
            "issuingCountry": "DEU",
            "isTwentyOnePlus": true,
            "licenseClass": "A1 A B1 B",
            "licenseClassDetails": {
                "A": {
                    "from": "2015-05-22"
                },
                "A1": {
                    "from": "2015-05-22"
                },
                "B": {
                    "from": "2004-08-27"
                },
                "B1": {
                    "from": "2004-08-27"
                }
            }
        }
    ]
}

Deprecated fields

selfieImageFile is deprecated and is now available as selfieImageFilePath

documentFrontFile is deprecated and is now available as documentFrontImageFilePath

documentBackFile is deprecated and is now available as documentBackImageFilePath

Face Authentication

To perform a face authentication, set the parameters for authentication (clientSecret or token) and the verificationId to match:

AuthenteqFlow
  .faceAuthenticationWithParameters({
     clientId: "YOUR_CLIENT_ID", 
     clientSecret: "YOUR_CLIENT_SECRET", 
     verificationId: "VERIFICATION ID TO MATCH",
     theme: {
        // iOS or Android custom theme 
     }
  })
  .then((res) => {
    console.log(res);
  }).catch((error) => {
    console.error(error);
  })

We suggest to use the token authentication in production environment.

Example of face authentication JSON output

{
    "code": "xy4q6o"
}

With the code obtained 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

Headers

{
  "accessToken": "81e4cbce-cdad-11eb-8fc3-784f4385af2b"
}

When successful the response will contain a single boolean property named success:

{
    "success": true
}

Last updated