Подписание пользователя через логин Google (Firebase и Javascript) - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь войти в систему, используя firebase, google и javascript

Код

   responseGoogle(googleUser) {
        console.log('Google Auth Response', googleUser);
        // We need to register an Observer on Firebase Auth to make sure auth is initialized.
        var unsubscribe = app.auth().onAuthStateChanged(firebaseUser => {
            unsubscribe();
            // Check if we are already signed-in Firebase with the correct user.
            if (!this.isUserEqual(googleUser, firebaseUser)) {
                // Build Firebase credential with the Google ID token.
                var credential = firebase.auth.GoogleAuthProvider.credential(
                    googleUser.getAuthResponse().id_token);
                // Sign in with credential from the Google user.
                app.auth().signInWithCredential(credential).catch(error => {
                    // Handle Errors here.
                    var errorCode = error.code;
                    var errorMessage = error.message;
                    // The email of the user's account used.
                    var email = error.email;
                    // The firebase.auth.AuthCredential type that was used.
                    var credential = error.credential;
                    this.setState({error: errorMessage})
                }).then ( () => {
                    const csrfToken = Utils.getCookie('csrfToken');
                    var id_token = googleUser.getAuthResponse().id_token
                    var access_token = googleUser.getAuthResponse().access_token
                    // send id_token to nodejs
                })
            } else {
                console.log('User already signed-in Firebase.');
                console.log('test5');
                this.setState({error: "You are already signed in."});
            }
        });
    }

        isUserEqual (googleUser, firebaseUser) {
            if (firebaseUser) {
                var providerData = firebaseUser.providerData;
                for (var i = 0; i < providerData.length; i++) {
                    if (providerData[i].providerId === firebase.auth.GoogleAuthProvider.PROVIDER_ID &&
                        providerData[i].uid === googleUser.getBasicProfile().getId()) {
                        // We don't need to reauth the Firebase connection.
                        return true;
                    }
                }
            }
            return false;
        }

При отправке токена доступа постоянно появляются ошибки, такие как неверный токен доступа или неверная подпись. к nodejs бэкэнду. Может кто-нибудь помочь, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...