Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 18964

Firebase : Error (auth/network-request-failed) with Expo and react native

$
0
0

I tried to build an app with Expo and react native but I faced (auth/network-request-failed) issues, the google service is active on the device (simulator for Android and real iPhone for IOS) and I'm connected to my Google account.

I also tried to prevent the page from reloading and use other wifi or network but nothing changed. After some research, all I see is I'm not the only one to face this error I haven't found any valuable answer to fix this problem. so if someone can help me I would appreciate it. Thanks for helping.

Here is my code:

firebase.js:

import { getApp, getApps, initializeApp } from 'firebase/app';import { initializeAuth, getReactNativePersistence, getAuth } from 'firebase/auth';import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage';import AsyncStorage from '@react-native-async-storage/async-storage';let firebaseApp;export const getFirebaseApp = () => {// copy from the firebase configif (!firebaseApp) {const firebaseConfig = {apiKey: "",authDomain: "",projectId: "",storageBucket: "",messagingSenderId: "",appId: ""};    firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApp();    initializeAuth(app, {       persistence: getReactNativePersistence(ReactNativeAsyncStorage)    })}return firebaseApp;};

SignUp.js:

import { SafeAreaView, StyleSheet, Text, View,StatusBar as RNStatusBar,Platform, TouchableOpacityComponent, Button, Pressable, Alert } from 'react-native';import { TextInput } from 'react-native-gesture-handler';import { TouchableOpacity } from 'react-native';import { Ionicons } from '@expo/vector-icons';import { useState } from 'react';import Checkbox from 'expo-checkbox';import { getFirebaseApp } from '../firebase';import { getAuth, createUserWithEmailAndPassword } from 'firebase/auth';import { getFirestore, collection, doc, setDoc } from 'firebase/firestore';export default Signup = function({navigation} ) {  const [isPasswordShown, setIsPasswordShown] = useState(false);  const [isChecked, setIsChecked] = useState(false);  const navLogin = () => navigation.navigate('Login');  const firebaseApp = getFirebaseApp();  const db = getFirestore(firebaseApp);  const col = collection(db, 'users')  const [fullName, setFullName] = useState('');  const [phone, setPhone] = useState('');  const [userType, setUserType] = useState('Gym');  const [email, setEmail] = useState('');  const [password, setPassword] = useState('');  const registerUser = async (email, password, fullName, phone, userType) => {    try {      const userCredential = await createUserWithEmailAndPassword(getAuth(firebaseApp), email, password);      const user = userCredential.user;      await setDoc(doc(col, user.uid),{        fullName,        phone,        userType      });      console.log('account created successfully');      Alert.alert('Success', 'Account created successfully');      navigation.navigate('Home')    } catch (error) {      console.error('account create failed', error.message);      Alert.alert('Error', 'Account create failed: '+ error.message);    }  };  return (<SafeAreaView style={styles.container}><View style={styles.signing}>        {/* Title form */}<View style={{marginVertical:22}}><Text style={styles.title}>SignUp</Text></View>        {/* SignUp form */}<View style={styles.filed}>        {/* Fullname form */}<Text style={styles.text}>            Full Name</Text><View style={styles.form}><TextInput               placeholder='Enter your Name'              placeholderTextColor={'black'}              style={{                width: '100%'              }}              value = {fullName}              onChangeText={text => setFullName(text)}></TextInput></View>          {/* Email address form */}<Text style={styles.text}>            Email address</Text><View style={styles.form}><TextInput               placeholder='Enter your Email address'              placeholderTextColor={'black'}              keyboardType='email-address'              style={{                width: '100%'              }}              value={email}              onChangeText={text => setEmail(text)}></TextInput></View>          {/* password form */}<Text style={styles.text}>            Password</Text><View style={styles.form}><TextInput               placeholder='Enter your Password'              placeholderTextColor={'black'}              secureTextEntry={isPasswordShown}              style={{                width: '100%'              }}              value={password}              onChangeText={text => setPassword(text)}></TextInput><TouchableOpacity              onPress={() => setIsPasswordShown(!isPasswordShown)}              style={{                position: 'absolute',                right:12              }}>                {                  isPasswordShown == true ? (<Ionicons name='eye-off' size={24} color={'black'}/>                  ) : (<Ionicons name='eye' size={24} color={'black'}/>                  )                }</TouchableOpacity></View>          {/* Phone number form */}<Text style={styles.text}>              Phone number</Text><View style={styles.form}><TextInput               placeholder='+61'              keyboardType='numeric'              placeholderTextColor={'black'}              style={{                width: '100%'              }}              value={phone}              onChangeText={text => setPhone(text)}></TextInput></View>          {/* UserType */}<Text style={styles.text}>              User Type : {userType}</Text></View>        {/* agree form */}<View style={{ flexDirection: 'row', marginVertical:6}}><Checkbox           style={{marginRight: 8}}          value={isChecked}          onValueChange={setIsChecked}          color={isChecked ? 'blue' : undefined}/><Text> I aggree to the terms and conditions</Text></View><Button           title='Sign Up'          filled          style={{            marginTop: 18,            marginBottom: 4          }}          onPress={registerUser}        />

Viewing all articles
Browse latest Browse all 18964

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>