react-native-social-auth-helper
v2.0.0
Published
All in one place for social authentication helper in React Native
Downloads
309
Maintainers
Readme
Installation
Add the dependency:
npm i react-native-social-auth-helper
Peer Dependencies
"@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",
"jwt-decode": "^3.1.2",
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, [email protected]
License
React Native Social Auth Helper is available under the MIT license. See the LICENSE file for more info.