@marianj97/react-native-biometrics
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

@marianJ97/react-native-biometrics

This is fork from the SelfLender/react-native-biometrics repository It allows additional options when generating keys, for now only accesGroup for ios (more added later). Fork is made from react-native-biometrics version 3.0.0 For official documentation and more informations, reach SelfLender/react-native-biometrics repository.

React native biometrics is a simple bridge to native iOS and Android keystore management. It allows you to create public private key pairs that are stored in native keystores and protected by biometric authentication. Those keys can then be retrieved later, after proper authentication, and used to create a cryptographic signature.

React Native Compatibility

@marianJ97/react-native-biometrics version Required React Native Version
>= 1.0.0 >= 0.60

Getting started

using either Yarn:

yarn add @marianJ97/react-native-biometrics

or npm:

$ npm install @marianJ97/react-native-biometrics --save

Install pods

$ npx pod-install

Link / Autolinking

On React Native 0.60+ the CLI autolink feature links the module while building the app.

Additional configuration

iOS

This package requires an iOS target SDK version of iOS 10 or higher

Ensure that you have the NSFaceIDUsageDescription entry set in your react native iOS project, or Face ID will not work properly. This description will be presented to the user the first time a biometrics action is taken, and the user will be asked if they want to allow the app to use Face ID. If the user declines the usage of face id for the app, the isSensorAvailable function will indicate biometrics is unavailable until the face id permission is specifically allowed for the app by the user.

Android

This package requires a compiled SDK version of 29 (Android 10.0) or higher

Usage

All other cases are identical, so for more information reach SelfLender/react-native-biometrics repository.

Difference

createKeys()

Generates a public private RSA 2048 key pair that will be stored in the device keystore. Returns a Promise that resolves to an object providing details about the keys.

Parameters Object

Property Type Description
accessGroup string String representation of accessGroup in which will be keys stored (iOS only)

Result Object

Property Type Description
publicKey string A base64 encoded string representing the public key

Example

import ReactNativeBiometrics from "react-native-biometrics";

const rnBiometrics = new ReactNativeBiometrics();

rnBiometrics.createKeys().then((resultObject) => {
  const { publicKey } = resultObject;
  console.log(publicKey);
  sendPublicKeyToServer(publicKey);
});

iOS Example

import ReactNativeBiometrics from "react-native-biometrics";

const rnBiometrics = new ReactNativeBiometrics();

rnBiometrics
  .createKeys({ accessGroup: "yourGroupIdentifier" })
  .then((resultObject) => {
    const { publicKey } = resultObject;
    console.log(publicKey);
    sendPublicKeyToServer(publicKey);
  });

Package Sidebar

Install

npm i @marianj97/react-native-biometrics

Weekly Downloads

38

Version

1.0.3

License

MIT

Unpacked Size

199 kB

Total Files

27

Last publish

Collaborators

  • marianj