1.0.0 • Published 9 months ago

react-native-secure-biometric-auth v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

React Native Secure Biometric Auth

A React Native package for secure biometric authentication using fingerprint and face recognition. This package provides an easy-to-use interface for implementing biometric authentication in your React Native applications.

Table of Contents

Getting Started

This guide will help you set up the react-native-secure-biometric-auth package in your React Native project and use it to implement biometric authentication.

Installation

To install react-native-secure-biometric-auth, run the following command in your React Native project directory:

npm install react-native-secure-biometric-auth --save

or if you prefer using Yarn:

yarn add react-native-secure-biometric-auth


### Linking Native Dependencies

For React Native 0.60 and above, linking is handled automatically. If you are using an older version, you may need to link the package manually:

react-native link react-native-secure-biometric-auth


#### Usage
##### Importing the Package
import BiometricAuth from 'react-native-secure-biometric-auth';


#### Checking Biometric Support

```js
const checkBiometricSupport = async () => {
  const supported = await BiometricAuth.isBiometricSupported();
  console.log(`Biometric supported: ${supported}`);
};

####### Example

import React, { useEffect, useState } from 'react';
import { View, Text, Button } from 'react-native';
import BiometricAuth from 'react-native-secure-biometric-auth';

const App = () => {
  const [isAuthenticated, setIsAuthenticated] = useState(false);
  const [authError, setAuthError] = useState(null);

  useEffect(() => {
    const checkSupport = async () => {
      try {
        const supported = await BiometricAuth.isBiometricSupported();
        if (!supported) {
          setAuthError('Biometric authentication not supported on this device');
        }
      } catch (error) {
        setAuthError(error.message);
      }
    };

    checkSupport();
  }, []);

  const handleAuthentication = async () => {
    try {
      const result = await BiometricAuth.authenticate('Authenticate to proceed');
      if (result.success) {
        setIsAuthenticated(true);
      } else {
        setAuthError(result.error || 'Authentication failed');
      }
    } catch (error) {
      setAuthError(error.message);
    }
  };

  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>
        {isAuthenticated ? 'Authenticated Successfully!' : 'Please Authenticate'}
      </Text>
      {authError && <Text style={{ color: 'red' }}>{authError}</Text>}
      <Button title="Authenticate" onPress={handleAuthentication} />
    </View>
  );
};

export default App;
API Methods

isBiometricSupported() Description: Checks if biometric authentication is supported on the device. Returns: Promise authenticate(promptMessage: string) Description: Triggers biometric authentication with a customizable prompt message. Parameters: promptMessage: A string representing the message shown on the biometric prompt. Returns: Promise<{ success: boolean, error?: string }>