Add the dependency:
npm i react-native-social-auth-helper
"@invertase/react-native-apple-authentication": ">= 2.4.0",
"@react-native-firebase/auth": ">= 21.0.0",
"@react-native-google-signin/google-signin": ">= 13.1.0",
"jwt-decode": ">= 4.0.0"
import { appleLogin, googleLogin } from "react-native-social-auth-helper";
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
};
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
};
FreakyCoder, [email protected]
React Native Social Auth Helper is available under the MIT license. See the LICENSE file for more info.