Пользовательский интерфейс Firebase не работает при входе в Google: ошибка updateCurrentUser

#javascript #reactjs #firebase #firebase-authentication #firebaseui

#javascript #reactjs #firebase #firebase-аутентификация #firebaseui

Вопрос:

Я добавляю FirebaseUI на свой веб-сайт react с базовым кодом из этого репозитория github с локальным состоянием: https://github.com/firebase/firebaseui-web-react . Когда я пытаюсь подключиться к firebase, появляется всплывающее окно I и показывает мне мои учетные записи Google. За исключением случаев, когда окно исчезает, мое приложение не может подключиться к моей учетной записи Google и показывает мне это. введите описание изображения здесь

И мой код :

 import React from 'react';
import StyledFirebaseAuth from 'react-firebaseui/StyledFirebaseAuth';
import firebase from 'firebase';
import { config } from '../../Components/Firebase/firebase';

firebase.initializeApp(config)

class Orders extends React.Component {

  // The component's Local state.
  state = {
    isSignedIn: false // Local signed-in state.
  };

  // Configure FirebaseUI.
  uiConfig = {
    // Popup signin flow rather than redirect flow.
    signInFlow: 'popup',
    // We will display Google and Facebook as auth providers.
    signInOptions: [
      firebase.auth.GoogleAuthProvider.PROVIDER_ID,
      firebase.auth.FacebookAuthProvider.PROVIDER_ID
    ],
    callbacks: {
      // Avoid redirects after sign-in.
      signInSuccessWithAuthResult: () => false
    }
  };

  // Listen to the Firebase Auth state and set the local state.
  componentDidMount() {
    this.unregisterAuthObserver = firebase.auth().onAuthStateChanged(
        (user) => this.setState({isSignedIn: !!user})
    );
  }
  
  // Make sure we un-register Firebase observers when the component unmounts.
  componentWillUnmount() {
    this.unregisterAuthObserver();
  }

  render() {
    if (!this.state.isSignedIn) {
      return (
        <div>
          <h1>My App</h1>
          <p>Please sign-in:</p>
          <StyledFirebaseAuth uiConfig={this.uiConfig} firebaseAuth={firebase.auth()}/>
        </div>
      );
    }
    return (
      <div>
        <h1>My App</h1>
        <p>Welcome {firebase.auth().currentUser.displayName}! You are now signed-in!</p>
        <a onClick={() => firebase.auth().signOut()}>Sign-out</a>
      </div>
    );
  }
}
  

Есть идеи, что может вызвать это?
Спасибо!

Комментарии:

1. Можете ли вы опубликовать свой код, связанный с аутентификацией?

2. Да, я только что это сделал

3. Сообщение об ошибке жалуется на вызов updateCurrentUser, но ваш код не показывает такого вызова. Пожалуйста, отредактируйте вопрос, чтобы конкретно указать, какая строка кода вызывает ошибку.

4. Это код шаблона, предоставленный github firebaseui для react. В github нет никаких упоминаний об этом вызове…

5. Привет, @pledesch. Похоже, что firebaseui-web-react на самом деле зависит от firebaseui-web. Я обнаружил эту проблему с github: github.com/firebase/firebaseui-web/issues/536 . Есть несколько предложений от других разработчиков, которые вы можете попробовать. Таким образом, похоже, что это связано с двойной загрузкой sdk. Возможно, один раз через npm, а другой — через тег script. Удаление одного из них может помочь вам решить проблему. Надеюсь, это поможет.