react-native-social-auth-helper

All in one place for social authentication helper in React Native

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
react-native-social-auth-helper
601.3.04 months ago5 months agoMinified + gzip package size for react-native-social-auth-helper in KB

Readme

React Native Social Auth Helper
npm version npm Platform - Android and iOS License: MIT styled with prettier
Installation
Add the dependency:
npm i react-native-social-auth-helper

Peer Dependencies

IMPORTANT! You need install them

"@invertase/react-native-apple-authentication": ">= 2.1.5", 
"@react-native-firebase/auth": ">= 14.8.0",
"@react-native-google-signin/google-signin": ">= 7.2.2",
"react-native-fbsdk-next": ">= 8.0.0"
Usage

Import

import {
  appleLogin,
  facebookLogin,
  fetchFacebookUserData,
  googleLogin,
} from "react-native-social-auth-helper";

Facebook Login Usage

import {
  facebookLogin,
  fetchFacebookUserData,
} from "react-native-social-auth-helper";
import { AccessToken } from "react-native-fbsdk-next";

export const handleFacebookLogin = async () => {
    const { authCredential, accessToken } = await facebookLogin();
    const fbUserData = await fetchFacebookUserData(accessToken);
    const { id, email, name, picture } = fbUserData;
    await auth().signInWithCredential(authCredential);
    // Successfully login and fetched the facebook user data
    // ... your logic
}

Google Login Usage

Do not forget to add your webCientId for Google configuration
import { googleLogin } from "react-native-social-auth-helper";
import { GoogleSignin } from "@react-native-google-signin/google-signin";

GoogleSignin.configure({
  offlineAccess: false,
  webClientId:
    "your-web-client-id",
});

export const handleGoogleLogin = async () => {
    await GoogleSignin.hasPlayServices();
    const { authCredential, user } = await googleLogin();
    const { id, email, name, photo } = user;
    // Successfully login and fetched the google user data
    // ... your logic  
}

Apple Login Usage

import { appleLogin } from "react-native-social-auth-helper";

export const handleGoogleLogin = async () => {
    const { appleAuthRequestResponse, userCredential } = await appleLogin();
    const { email, fullName } = appleAuthRequestResponse;
    const userData = {
      id: userCredential.user.uid,
      socialId: userCredential.user.providerData[0].uid,
      socialType: SOCIAL_TYPE.APPLE,
      email: email,
      username: fullName?.givenName || null,
      photo: userCredential.user.photoURL,
    };
    // Successfully login and fetched the apple user data
    // ... your logic  
}

Future Plans

  • x LICENSE
  • Write an article about the lib on Medium

Author

FreakyCoder, kurayogun@gmail.com

License

React Native Social Auth Helper is available under the MIT license. See the LICENSE file for more info.