Skip to content

stonehiy/react-native-biometrics-scanner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Native Library to handle the biometric autentication. The library is developed with Turbomodules, for this reason to make it work is necessary use RN 0.68 or higher

Installation

npm install react-native-biometrics-scanner

or

yarn add react-native-biometrics-scanner

iOS

In your Info.plist:

<key>NSFaceIDUsageDescription</key>
<string>{Add here a message}</string>

Android

In order to make it work you need to add the necessary Permissions in your AndroidManifest.xml:

API level 28+

<uses-permission android:name="android.permission.USE_BIOMETRIC" />

API level 23-28

<uses-permission android:name="android.permission.USE_FINGERPRINT" />

Usage

• getAvailableBiometric

import { getAvailableBiometric } from "react-native-biometrics-scanner";

// ...

const result = await getAvailableBiometric();

This method return the type of biometric present on the device:

  • iOS: TouchID or FaceID
  • Android: TouchID or FaceID or IrisID or if it is not possible to retrieve any infoBiometricID

and throws:

  • UnknownBiometricError when the status of biometric is unknown
  • UnsupportedBiometricError when the biometric is not supported by the device
  • NoEnrollError when user needs to enroll in order to use biometric

• authenticate

import { authenticate } from "react-native-biometrics-scanner";

// ...

await authenticate(prompt);

It requires an object to configure the prompt message:

  • promptMessage: the message to show
  • allowDeviceCredentials: if true the system fallback is used to authenticate after all the attempts of biometric fail, otherwise BiometricFallbackError is thrown
  • cancelButtonText: the text for cancel button (Android only)(optional)
  • descriptionText: the text for description (Android only)(optional)
  • subtitleText: the text for subtitle (Android only)(optional)
  • fallbackPromptMessage: the title of fallback option (iOS only)(optional)

This method resolve a promise if the authentication is succesful and throws:

  • BiometricUnknownError when the status of biometric is unknown
  • BiometricUnsupportedError when the biometric is not supported by the device
  • BiometricNoEnrollError when user needs to enroll in order to use biometric
  • BiometricAuthenitcationError when the authentication fails
  • BiometricUserCancelError when user cancels the authentication
  • BiometricPasscodeNotSetError when a passcode is not set
  • BiometricLockOutError when the device is locked
  • BiometricFallbackError when the biometric authentication fails and a fallback has to be provided
  • BiometricPasscodeNotSetError when passcode is not set
  • BiometricSystemCancelError (iOS only) when the system cancels the authentication

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

About

A module to handle biometric in React Native

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 35.6%
  • TypeScript 33.8%
  • Objective-C++ 13.2%
  • Ruby 7.3%
  • Objective-C 5.5%
  • JavaScript 4.6%