Facebook Login in React Native with Firebase Auth

Facebook Login can still be useful for apps whose audience already uses Meta accounts, but the setup is more sensitive than it used to be. React Native apps need Firebase Auth, a Meta developer app, native URL handling, valid redirect URIs, and special care around iOS Limited Login.
Quick Answer
For a React Native app with Firebase Auth:
- Configure Firebase for iOS and Android.
- Enable Facebook in Firebase Authentication.
- Create a Meta app and add Facebook Login.
- Add Firebase's OAuth redirect URI to the Meta app.
- Configure iOS bundle ID, Android package name, and Android key hashes.
- Install
react-native-fbsdk-next. - Exchange a Facebook token for a Firebase credential.
- Test iOS and Android separately because iOS Limited Login can return an authentication token instead of a classic access token.
For Instamobile apps, use these guides first:
Install Dependencies
yarn add @react-native-firebase/app @react-native-firebase/auth
yarn add react-native-fbsdk-next
cd ios && pod install
Then follow the native setup from react-native-fbsdk-next for app ID, client
token, URL schemes, Android manifest values, and iOS initialization.
Ship faster with All Access. Get the React Native templates, admin panels, updates, and launch bonuses that help you build faster.
Explore All AccessFirebase and Meta Setup
In Firebase Console:
- Open Authentication.
- Enable Facebook as a provider.
- Copy the OAuth redirect URI shown by Firebase.
In Meta for Developers:
- Create or open your app.
- Add Facebook Login.
- Add the Firebase OAuth redirect URI.
- Add iOS bundle ID and Android package name.
- Add Android key hashes for every signing key.
- Keep app mode and data access permissions aligned with your release plan.
Android and Standard Access Token Flow
On Android, and on iOS configurations that return a classic access token, the Firebase flow looks like this:
import auth from '@react-native-firebase/auth';
import { AccessToken, LoginManager } from 'react-native-fbsdk-next';
export async function signInWithFacebook() {
const result = await LoginManager.logInWithPermissions([
'public_profile',
'email',
]);
if (result.isCancelled) {
return null;
}
const data = await AccessToken.getCurrentAccessToken();
if (!data?.accessToken) {
throw new Error('Facebook Login failed: missing access token');
}
const facebookCredential = auth.FacebookAuthProvider.credential(
data.accessToken
);
return auth().signInWithCredential(facebookCredential);
}
iOS Limited Login
Recent Facebook iOS SDK behavior can use Limited Login, which returns an OpenID
Connect authentication token instead of a classic Graph API access token. That
token cannot be used as a Graph API access token and should not be passed into
FacebookAuthProvider.credential as if it were one.
If your iOS app uses Limited Login:
- read the current
react-native-fbsdk-nextLimited Login docs; - read Firebase's Facebook Login docs for Apple platforms;
- generate and validate a nonce when required;
- test the exact Firebase credential path on a real iOS device;
- avoid relying on Graph API fields that are not available with Limited Login.
This is the main reason not to treat old Expo Facebook examples as production guidance for modern React Native apps.
Account Linking
Users can sign in with several providers: email, phone, Google, Apple, and Facebook. If Firebase reports that an account already exists with a different credential, guide the user through account linking instead of creating a second profile document.
Store your app profile by Firebase UID, not by Facebook user ID.
Production Checklist
- Facebook provider enabled in Firebase Auth.
- Firebase OAuth redirect URI added in Meta app settings.
- Android key hashes added for debug, release, CI, and Play App Signing.
- iOS URL schemes, bundle ID, and client token configured.
- iOS Limited Login behavior tested on a real device.
- Login button hidden if provider setup is incomplete.
- App Review and Meta permissions submitted where needed.
Useful References
- Firebase Facebook Login on Apple platforms
- Firebase Facebook Login on Android
- react-native-fbsdk-next GitHub
- react-native-fbsdk-next Limited Login
- Instamobile Facebook Login docs
- Instamobile Firebase setup docs
Looking for a custom mobile application?
Our team of expert mobile developers can help you build a custom mobile app that meets your specific needs.
Get in TouchConclusion
Facebook Login still works with Firebase Auth, but the modern implementation is mostly about correct provider configuration and platform-specific testing. Pay special attention to iOS Limited Login, keep your Meta and Firebase settings in sync, and store app users by Firebase UID.