Skip to content

jdmunro/react-native-local-authenticate-improved

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PRs Welcome

ReactNative: Local Authenticate [FaceID/TouchID] (Android/iOS)

ℹ️ This is a fork of prscX/react-native-local-authenticate with some specific tweaks and may be removed ℹ️

  • More idiomatic naming convention
  • Fixed resolve types (resolves with boolean instead of integers)
  • TypeScript types

These improvements may be contributed to the original project at some point, and this fork can then be removed.

📖 Getting started

$ npm install react-native-local-authenticate-improved --save

RN60 >= RNLA V1 >

RN60 above please use react-native-local-authenticate-improved V1 and above

  • iOS

iOS Prerequisite: Please make sure CocoaPods is installed on your system

- Add the following to your `Podfile` -> `ios/Podfile` and run pod update:
  use_native_modules!

  pod 'RNLocalAuthenticate', :path => '../node_modules/react-native-local-authenticate-improved/ios'
  • Android

Please add below permission to your app AndroidManifest

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

RN60 < RNLA V1 <

RN60 below please use react-native-local-authenticate-improved V.0.*

$ react-native link react-native-local-authenticate-improved

  • Android

    • Please add below script in your build.gradle
buildscript {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
        ...
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven { url "https://maven.google.com" }
        ...
    }
}

Note

  • Android SDK 27 > is supported

💬 Usage

import LocalAuthenticate from 'react-native-local-authenticate-improved'

LocalAuthenticate.hasHardware().then((hasHardware) => {
})

LocalAuthenticate.isEnrolled().then((isEnrolled) => {
})

LocalAuthenticate.supportedAuthenticationTypes().then((isEnrolled) => {
})

LocalAuthenticate.authenticate('reason').then((isEnrolled) => {
})

💡 Props

  • General(iOS & Android)
Prop Type Default Note
hasHardware:Promise bool Used to check for hardware capability
isEnrolled:Promise bool Used to check enrolled for FaceID/TouchID
authenticate bool Used to authenticate user using FaceId/TouchID
  • Android
Prop Type Default Note
cancelAuthenticate `` true Used to cancel ongoing authentication
  • iOS
Prop Type Default Note
supportedAuthenticationTypes array Used to check supported authentication types

✨ Credits

🤔 How to contribute

Have an idea? Found a bug? Please raise to ISSUES. Contributions are welcome and are greatly appreciated! Every little bit helps, and credit will always be given.

📜 License

This library is provided under the Apache 2 License.

RNAppTour @ prscX

About

ReactNative: Local Authentication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 36.0%
  • Objective-C 29.8%
  • JavaScript 15.0%
  • Ruby 12.6%
  • Starlark 6.6%