@caf.io/react-native-face-authenticator
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

@caf.io/react-native-face-authenticator

About

The @caf.io/react-native-face-authenticator library is a powerful tool for integrating facial liveness detection functionality into React Native applications. It allows developers to easily incorporate live facial verification, adding an extra layer of security and authentication.

Minimum Requirements

Android

Settings Minimum version
minSdkVersion 21
compileSdkVersion 34
Java version 8

iOS

Settings Minimum version
Target 12
Xcode 13.4.1

Getting Started

yarn add @caf.io/react-native-face-authenticator
# or 
npm install @caf.io/react-native-face-authenticator

Usage

import React from 'react';
import { View, Button, StyleSheet } from 'react-native';
import { 
  startFaceAuthenticator,
  useFaceAuthenticator, 
  FaceAuthenticatorOptions, 
  Stage, 
  Filter, 
  Time 
} from '@caf.io/react-native-face-authenticator';

export default function App() {
  const mobileToken: string = "";
  const peopleId: string = "";

  const options: FaceAuthenticatorOptions = {
    cafStage: Stage.PROD,
    filter: Filter.NATURAL,
    imageUrlExpirationTime: Time.THREE_HOURS,
    enableScreenshots: true,
    loadingScreen: true
  } // optional

  const { 
    result, 
    error, 
    cancelled, 
    isLoading 
  } = useFaceAuthenticator(options);

  return (
    <View style={styles.container}>
      <Button 
        title="Press" 
        onPress={() => startFaceAuthenticator(mobileToken, peopleId)} 
      />
    </View>
  );
} 

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
});

Methods

startFaceAuthenticator

This method inicialize the face authenticator.

Params

Param Type Default Description
mobileToken string Required Usage token associated with your Identity account
peopleId string Required User CPF

Hooks

useFaceAuthenticator

This hook provides the responses of method startFaceAuthenticator and make the settings for face authenticator.

Params

Param Type Default Description
options FaceAuthenticatorOptions Optional Settings for the face authenticator

Responses

FaceAuthenticatorResponse

Types

FaceAuthenticatorResult

Name 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.

signedResponse params

Name Type Description
requestId string Request identifier.
isAlive boolean Validation of a living person, identifies whether the user passed successfully or not.
token string Request token.
userId string User identifier provided for the request.
imageUrl string Temporary link to the image, generated by our API.
personId string User identifier provided for the SDK.
sdkVersion string Sdk version in use.
iat string Token expiration.

FaceAuthenticatorError

Name Type Description
statusCode string Https code status
message string Error message
error Error Error enum

FaceAuthenticatorResponse

Name Type Description
result FaceAuthenticatorResult or null Shows when face authenticator returns a successful capture
error FaceAuthenticatorError or null Shows when the face authenticator return some error
cancelled boolean Shows when user cancel the face authenticator
isLoading boolean Shows when the face authenticator is loading

FaceAuthenticatorOptions

Name Type Description
cafStage Stage Change the development environment
filter Filter Change face authenticator mask
imageUrlExpirationTime Time Change the expiration time of the face liveness url
enableScreenshots boolean Toggle user screenshots
loadingScreen boolean Toggle face authenticator loading screen

Enums

Stage

Enum Description
BETA Beta environment
PROD Production environment
DEV Development environment

Filter

Enum Description
LINE_DRAWING Alternative mask for face liveness
NATURAL Normal mask for face liveness

Time

Enum Description
THREE_HOURS Image url expiration time expires in three hours
THIRTY_DAYS Image url expiration time expires in thirty days
THIRTY_MIN Image url expiration time expires in thirty minutes

Error

Enum Description
ServerReason A server-side error/token invalidation occurred. The associated string (if available) will contain further information about the error.
NetworkReason An error occurred with the video streaming process. The associated string (if available) will contain further information about the error.
UnknownReason An unknown error has occurred. The associated string will contain further information about the error. These errors should be reported to iProov for further investigation.
UnexpectedReason An unxpected error has occurred
CameraPermission The user disallowed access to the camera when prompted. You should direct the user to re-try.

Package Sidebar

Install

npm i @caf.io/react-native-face-authenticator

Weekly Downloads

316

Version

1.3.0

License

MIT

Unpacked Size

58.4 kB

Total Files

41

Last publish

Collaborators

  • avatrexx
  • hmdarkfire
  • guiialmeiida