Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smallcase/react-native-simple-biometrics
simple interface to verify user authenticity
https://github.com/smallcase/react-native-simple-biometrics
android authentication biometrics faceid fingerprint ios react-native
Last synced: 4 days ago
JSON representation
simple interface to verify user authenticity
- Host: GitHub
- URL: https://github.com/smallcase/react-native-simple-biometrics
- Owner: smallcase
- License: mit
- Created: 2021-02-08T14:57:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-05T05:07:40.000Z (over 1 year ago)
- Last Synced: 2024-12-29T00:27:44.192Z (11 days ago)
- Topics: android, authentication, biometrics, faceid, fingerprint, ios, react-native
- Language: Java
- Homepage: https://www.npmjs.com/package/react-native-simple-biometrics
- Size: 2.4 MB
- Stars: 188
- Watchers: 10
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# React Native Simple Biometrics
![npm](https://img.shields.io/npm/v/react-native-simple-biometrics?color=%231F7AE0)
## Overview
React Native Simple Biometrics is a straightforward and minimalistic React Native package designed to provide developers with an API for implementing user authentication using on-device biometrics. This library facilitates the quick verification of the app's user, ensuring that sensitive information is only accessible to authorized individuals, such as the phone owner or a trustee.
![demo](./demo.gif?raw=true "demo")
## Installation
To get started with React Native Simple Biometrics, you can add it to your project using Yarn:
```bash
$ yarn add react-native-simple-biometrics
```## Minimum Requirements
- iOS target: `8.0`
- Android minSdkVersion: `21`## iOS Permission
To utilize the Face ID system on iOS devices, it is mandatory to include an entry in your iOS app's `info.plist`, explaining the valid reason for using biometrics:
```xml
NSFaceIDUsageDescription
a valid reason to use biometrics
```When you call the `authenticate` function, iOS users will be automatically prompted for permission. For more granular control over when to request permissions, you can utilize the [react-native-permissions](https://www.npmjs.com/package/react-native-permissions) package.
## Usage
React Native Simple Biometrics offers two main methods:
1. `canAuthenticate()`: Checks whether the device supports biometric authentication. Returns `true` if the hardware is available or if permission for Face ID (iOS) was granted.
2. `requestBioAuth(promptTitle: string, promptMessage: string)`: Initiates the biometric authentication process, displaying a user-friendly prompt with the specified title and message. This function can be used for user authentication.
Here's a code snippet demonstrating how to use these methods:
```javascript
import RNBiometrics from "react-native-simple-biometrics";// Check if biometric authentication is available
const can = await RNBiometrics.canAuthenticate();if (can) {
try {
await RNBiometrics.requestBioAuth("prompt-title", "prompt-message");
// Code to execute when authenticated
// ...
} catch (error) {
// Code to handle authentication failure
// ...
}
}
```## Credits
React Native Simple Biometrics is a simplified version of [react-native-biometrics](https://www.npmjs.com/package/react-native-biometrics). If you require advanced features such as key generation, signatures, and more, consider using react-native-biometrics.