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.
Mega Bundle Sale is ON! Get ALL of our React Native codebases at 90% OFF discount ๐ฅ
Get the Mega BundleFirebase 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.