react-native-secure-biometric-auth
v1.0.0
Published
A React Native package for secure biometric authentication
Maintainers
Readme
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 }>