
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-expo-auth
Advanced tools
A simple and fully customizable React Native Expo component that implements Sign In and Sign Up flows including Biometric Unlock.
React Native Expo Component that provides Sign In, Sign Up, Reset Password flows for user authentication. The component includes an API for FaceID and TouchID (iOS) and Fingerprint API (Android) to authenticate the user with a face or fingerprint scan.

$ npm install --save react-native-expo-auth
or
$ yarn add react-native-expo-auth
// ...
import React, { useState } from "react";
import { Authenticate } from "react-native-expo-auth";
const ExampleApp = props => {
const [isVisible, setIsVisible] = useState(true);
const [logins, setLogins] = useState(["test@gmail.com"]);
/**
* Each callback should return object that contains success and/or error.
* @param {Object} data
* @returns {{ success: Boolean, error: String }}
*/
const submitAuth = async(data, route) => {
const signUpRaw = await fetch(`http://test.com/${route}`, {
method: "POST",
body: JSON.stringify(data)
});
if(signUpRaw.status !== 200) {
return {
success: false,
error: await signUpRaw.text()
};
}
const { emails } = await signUpRaw.json();
setLogins(emails);
return {
success: true
};
};
const submitSignIn = async (data) => await submitAuth(data, "signin");
const submitSignUp = async (data) => await submitAuth(data, "signup");
const submitBioLogin = async (data) => await submitAuth(data, "biologin");
const submitPinCodeRequest = async (data) => await submitAuth(data, "reset");
const submitNewPassword = async (data) => await submitAuth(data, "doreset");
render() {
return (
<Authenticate
visible={isVisible}
onLogin={submitSignIn}
onSignUp={submitSignUp}
onBioLogin={submitBioLogin}
logins={logins}
onPinCodeRequest={submitPinCodeRequest}
onSubmitNewPassword={submitNewPassword}
enableBio={true}
>
<Text>YOUR LOGO</Text>
<Image
source={require("./images/logo.png")}
/>
</Authenticate>
);
}
};
// ...
| Prop | Type | Description |
|---|---|---|
| visible | boolean | Set to true to show the component. By default visible is set to true. |
| onLogin | function | Callback will be called once user submits login form. |
| onSignUp | function | Callback will be called once user submits submit form. |
| onBioLogin | function | Callback will be called once user uses Mobile Biometric Check( faceId, fingerprint or Pin Code). |
| logins | array | An array of logins which a user is allowed to use during bioLogin. Logins get populated when a user signs in/up using a specific device. |
| onPinCodeRequest | function | Callback that will be called if a user submits forgot password form. |
| onSubmitNewPassword | function | Callback will be called once a user submits a new password after resetting the old one. |
| enableBio | boolean | Enables/Disables Mobile Biometric Check. |
Feel free to open issues or do a PR!
FAQs
A simple and fully customizable React Native Expo component that implements Sign In and Sign Up flows including Biometric Unlock.
We found that react-native-expo-auth demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.