Skip to main content

Facebook Login in React Native with Firebase Auth

ยท 4 min read
Full Stack Developer
Last updated on May 6, 2026

facebook login react native

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:

  1. Configure Firebase for iOS and Android.
  2. Enable Facebook in Firebase Authentication.
  3. Create a Meta app and add Facebook Login.
  4. Add Firebase's OAuth redirect URI to the Meta app.
  5. Configure iOS bundle ID, Android package name, and Android key hashes.
  6. Install react-native-fbsdk-next.
  7. Exchange a Facebook token for a Firebase credential.
  8. 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 Bundle

Firebase and Meta Setupโ€‹

In Firebase Console:

  1. Open Authentication.
  2. Enable Facebook as a provider.
  3. Copy the OAuth redirect URI shown by Firebase.

In Meta for Developers:

  1. Create or open your app.
  2. Add Facebook Login.
  3. Add the Firebase OAuth redirect URI.
  4. Add iOS bundle ID and Android package name.
  5. Add Android key hashes for every signing key.
  6. 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-next Limited 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โ€‹

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 Touch

Conclusionโ€‹

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.