Проблема аутентификации Firebase в проекте response-native ios - PullRequest
1 голос
/ 01 августа 2020

У нас есть собственные приложения IOS и Android, уже опубликованные в магазинах. В настоящее время готовится к завершению sh встроенной версии для замены собственных приложений. Приложение React-native использует тот же проект Firebase, что и native. Аутентификация Firebase хорошо работает в нативных приложениях и в приложении React-native android. На react-native ios нам не удалось войти в систему с помощью Google.

Журнал ошибок:

Ошибка: [auth / internal-error] Произошла внутренняя ошибка, пожалуйста попробуй еще раз. NativeFirebaseError: [auth / internal-error] Произошла внутренняя ошибка, попробуйте еще раз. onGoogleButtonPress$@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 98254: 89 tryCatch@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 28586: 23 invoke@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 28759: 32 tryCatch@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 28586: 23 invoke@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 28659: 30 http://localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 28669: 21 tryCallOne@http: //localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3475:16 http://localhost: 8081 / index.bundle? platform = ios & dev = true & minify = false: 3576: 27 _callTimer@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 30574: 17 _callImmediatesPass@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 30613: 17 callImmediates@http: // localhost: 8081 / index.bundle? Platform = ios & dev = true & minify = false: 30830: 33

Из сообщения об ошибке сложно понять, что именно пошло не так.

Когда мы настраиваем response- родной * 10 41 * приложение для входа в другой проект Firebase (используется для целей разработки), вход в Google работает нормально. В обоих случаях IOS идентификатор пакета одинаковый.

Весь код и конфигурация, связанные с приложением, выполнены в соответствии с документами библиотеки react-native-firebase .

Проблема также воспроизводится во вновь созданном проекте, поддерживающем реакцию, с тем же IOS идентификатором пакета и без добавления какого-либо другого побочного кода функциональности.

import React from 'react';
import {
  SafeAreaView,
  StyleSheet,
  ScrollView,
  View,
  Button,
  StatusBar,
} from 'react-native';

import {Colors} from 'react-native/Libraries/NewAppScreen';
import {GoogleSignin} from '@react-native-community/google-signin';
import auth from '@react-native-firebase/auth';

const App: () => React$Node = () => {
  async function onGoogleButtonPress() {
    const {idToken} = await GoogleSignin.signIn();
    const googleCredential = auth.GoogleAuthProvider.credential(idToken);
    return auth().signInWithCredential(googleCredential);
  }

  GoogleSignin.configure({
    webClientId:
      '<PASTE CLIEND ID FROM GoogleService-Info.plist>',
  });

  return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={styles.scrollView}>
          <View style={styles.body}>
            <Button
              title="Google Sign-In"
              onPress={() =>
                onGoogleButtonPress().then(() =>
                  console.log('Signed in with Google!'),
                )
              }
            />
          </View>
        </ScrollView>
      </SafeAreaView>
    </>
  );
};

const styles = StyleSheet.create({
  scrollView: {
    backgroundColor: Colors.lighter,
  },
  body: {
    backgroundColor: Colors.white,
  },
});

export default App;

При добавлении нового проекта IOS с другим идентификатором пакета в производственном экземпляре Firebase и установке эти пакеты в приложение для реагирования, проверка подлинности Firebase работает хорошо.

Таким образом, это не похоже на проблему в коде реагирующего собственного приложения, а на что-то, связанное с идентификатором пакета. В то же время IOS собственное приложение с тем же идентификатором пакета работает хорошо.

Помогите мне выяснить причину, по которой аутентификация Firebase не работает?

...