All Projects → williamtran29 → React Native Fingerprint Identify

williamtran29 / React Native Fingerprint Identify

Licence: mit
Awesome Fingerprint Identify for react-native (android only)

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to React Native Fingerprint Identify

Fingerlock
Android fingerprint authentication library
Stars: ✭ 203 (+150.62%)
Mutual labels:  fingerprint, fingerprint-authentication
sourceafis-net
Fingerprint recognition engine for .NET that takes a pair of human fingerprint images and returns their similarity score. Supports efficient 1:N search.
Stars: ✭ 43 (-46.91%)
Mutual labels:  fingerprint, fingerprint-authentication
Cordova Plugin Fingerprint Aio
👆 📱 Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support
Stars: ✭ 236 (+191.36%)
Mutual labels:  fingerprint, fingerprint-authentication
Zklibrary
ZKLibrary is PHP library for reading and writing data to attendance device using UDP protocol. This library useful to comunicate between web server and attendance device directly without addition program. This library is implemented in the form of class. So that you can create an object and use it functions.
Stars: ✭ 126 (+55.56%)
Mutual labels:  fingerprint, fingerprint-authentication
Reprint
A unified fingerprint library for android.
Stars: ✭ 467 (+476.54%)
Mutual labels:  fingerprint, fingerprint-authentication
Soter
A secure and quick biometric authentication standard and platform in Android held by Tencent.
Stars: ✭ 1,777 (+2093.83%)
Mutual labels:  fingerprint, fingerprint-authentication
SSBiometricsAuthentication
Biometric factors allow for secure authentication on the Android platform.
Stars: ✭ 87 (+7.41%)
Mutual labels:  fingerprint, fingerprint-authentication
Sourceafis Java
Fingerprint recognition engine for Java that takes a pair of human fingerprint images and returns their similarity score. Supports efficient 1:N search.
Stars: ✭ 136 (+67.9%)
Mutual labels:  fingerprint, fingerprint-authentication
Fingerprintauthhelper
A small library that allows You to easily manage fingererprint authentication inside your Activity or Fragment on devices with fingerprint scanner and Android M and higher. Min sdk 14
Stars: ✭ 444 (+448.15%)
Mutual labels:  fingerprint, fingerprint-authentication
Rxfingerprint
Android Fingerprint authentication and encryption with RxJava
Stars: ✭ 373 (+360.49%)
Mutual labels:  fingerprint, fingerprint-authentication
Php Antimalware Scanner
AMWScan (PHP Antimalware Scanner) is a free tool to scan php files and analyze your project to find any malicious code inside it.
Stars: ✭ 181 (+123.46%)
Mutual labels:  scanning, scan
Android Goldfinger
Android library to simplify Biometric authentication implementation.
Stars: ✭ 608 (+650.62%)
Mutual labels:  fingerprint, fingerprint-authentication
fingerprint-gui
Use fingerprint readers with a Linux desktop environment
Stars: ✭ 47 (-41.98%)
Mutual labels:  fingerprint, fingerprint-authentication
Fingerprintmanager
A small library to handle Android fingerprint API.
Stars: ✭ 560 (+591.36%)
Mutual labels:  fingerprint, fingerprint-authentication
Biometricauthentication
Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
Stars: ✭ 746 (+820.99%)
Mutual labels:  fingerprint, fingerprint-authentication
React Native Web Platform
React Native on web
Stars: ✭ 50 (-38.27%)
Mutual labels:  reactnative
Tus Js Client
A pure JavaScript client for the tus resumable upload protocol
Stars: ✭ 1,151 (+1320.99%)
Mutual labels:  reactnative
React Native Markdown Package
React native markdown package is a Library for implementing markdown syntax in React Native
Stars: ✭ 50 (-38.27%)
Mutual labels:  reactnative
Dockerscan
Docker security analysis & hacking tools
Stars: ✭ 1,046 (+1191.36%)
Mutual labels:  scan
Ejdb
🏂 EJDB 2.0 — Embeddable JSON Database engine C library. Simple XPath like query language (JQL). Websockets / Android / iOS / React Native / Flutter / Java / Dart / Node.js bindings. Docker image.
Stars: ✭ 1,187 (+1365.43%)
Mutual labels:  reactnative

react-native-fingerprint-identify

Fingerprint android auth for react-native (Android only).

This is an expandable Android fingerprint API compatible lib, which also combines Samsung and MeiZu's official Fingerprint API.

Samsung and MeiZu's fingerprint SDK supports most devices which system versions less than Android 6.0.

Api priority level:Android > Samsung > MeiZu, Xiaomi,...

Demo

Getting started

$ npm install react-native-fingerprint-identify --save

Most automatic installation

$ react-native link react-native-fingerprint-identify

Make sure the following lines in android/app/build.gradle:
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
...
    defaultConfig {
      targetSdkVersion 25

Manual Installation

Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.fingerprint.identify.RNFingerprintIdentifyPackage;

    to the imports at the top of the file

  • Add new RNFingerprintIdentifyPackage()

    to the list returned by the getPackages() method

Append the following lines to android/settings.gradle:
  	include ':react-native-fingerprint-identify'
  	project(':react-native-fingerprint-identify').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fingerprint-identify/android')
Make sure the following lines in android/app/build.gradle:
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
...
    defaultConfig {
      targetSdkVersion 25

Insert the following lines inside the dependencies block in android/app/build.gradle

in dependencies block

  compile project(':react-native-fingerprint-identify')

Example

Please clone repo and look on the example project to get more details

import FingerprintIdentify from 'react-native-fingerprint-identify';
import { Platform } from 'react-native'

// Make sure you run in Android Platform condition
scanFingerprint = async () => {
  if (Platform.OS === 'android') {
    try {
      const initFingerPrintIdentify = await FingerprintIdentify.initFingerPrintIdentify()
      const isSensorAvailable = await FingerprintIdentify.isSensorAvailable()
      if (initFingerPrintIdentify && isSensorAvailable) {
        await FingerprintIdentify.startIdentify((status) => {
          console.log(status)
        })
      }
    } catch (error) {
      console.log(error)
      return
    }
  }
}

Usage

Easy custom error message with error codes.

Errors on startIdentify() function:

ERROR_NOT_AVAILABLE
ERROR_NOT_MATCH
ERROR_NOT_MATCH_AND_CHANCES_LEFT:(AvailableTimes)

Errors on isSensorAvailable() function:

ERROR_HARDWARE: The device does not support fingerprint scanning.
ERROR_ENROLLED: No fingerprints registered.
ERROR_PERMISSION: App has no permission.
ERROR_INITIALIZED: The FingerPrintIdentify can not initialize

Init FingerprintIdentify before request scan.

FingerprintIdentify.initFingerPrintIdentify()

Promise returns true if success and string error in other cases (including case when you have sensor, but not enabled it in your phone's settings)

FingerprintIdentify.isSensorAvailable()

Starting scan finger print and get the result in the callback function, returns true if success and string error in other cases.

FingerprintIdentify.startIdentify((val) => console.log(val))

Removing event listener (fingerprint identity status) - prevent crash App after authentication, usually put in componentWillUnmount()

FingerprintIdentify.dismiss()

Removing event listener to scan fingerprint and also cancel identify

FingerprintIdentify.cancelIdentify()

Troubleshooting

If you make five wrong fingerprint attempts, Android Fingerprint API requires some time to continue work on the sensor.

In that case FingerprintIdentify.startIdentify() locked out, so it would be good to make the user aware that sensor is temporarily unavailable (near 30 seconds).

Questions or suggestions?

Feel free to open an issue

Donation

If this project help you reduce time to develop, you can give me a cup of coffee :)

paypal

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].