Аутентификация Firebase getRedirectResult () не вызывается (React) - PullRequest
0 голосов
/ 25 марта 2020

getRedirectResult () не вызывается (React)

При нажатии кнопки «Вход в Facebook» вызывается следующий метод. Во-первых, приложение (созданное с помощью ReactJS) регистрирует пользователя, перенаправляя его на другую страницу, затем приложение должно принять пользователя после того, как страница перенаправляет создание записи в базе данных, если пользователь ранее не существовал (при подписании в первый раз) или просто перенаправить пользователя на другую страницу, если пользователь существовал. Тем не менее, код после signInWithRedirect () никогда не вызывается (возможно, из-за перезагрузки страницы, которая нарушает поток приложения), как мне преодолеть эту проблему?

handleFacebookLogin = () => {
        const provider = new firebase.auth.FacebookAuthProvider();
        firebase.auth().signInWithRedirect(provider);

        firebase.auth().getRedirectResult().then((result) => {
            let user = result.user;
            console.log(user);
            db.collection('users').doc(user.uid).get()
            .then((doc) => {
                if(doc.exists) {
                    console.log('yes');
                    this.props.history.push(`/quiz/${user.uid}`);
                } else {
                    db.collection('users').doc(user.uid).set({
                        name: user.displayName,
                        quiz: null
                    })
                    .then(() => {
                        this.props.history.push('/create-quiz');
                    }).catch((error) => {
                        alert(error.message);
                    });
                }
            }).catch((error) => {
                alert(error.message);
            })
        }).catch((error) => {
            alert(error.message);
        })
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...