IDToken возвращает ноль для реакции-нативного-Google-Signin - PullRequest
0 голосов
/ 17 марта 2020

Так вот мой код и то, что я пробовал до сих пор.

  1. Я установил этот пакет в свое реактивное приложение.
  2. Сгенерировал SHA-1 и вставил в мое приложение Firebase.
  3. Также создал webclientId из облачной консоли. (Потому что я запутался, какой идентификатор веб-клиента вставлять в GoogleSignin.Configure).

Мой код:

import React from 'react';
import * as firebase from "firebase";
import 'firebase/firestore';
import { GoogleSignin, GoogleSigninButton, statusCodes } from 'react-native-google-signin';
class App extends React.Component {
constructor(props) {
        super(props)
        this.state = {homePage : false}
        this.btnClick = this.btnClick.bind(this)
    }
async btnClick() {
      // Navigate to the HelloWorld view
      //this.props.navigation.navigate('Login')
      try {
        // Add any configuration settings here:

        await GoogleSignin.configure({
            androidClientId:"my-client-id-from-console-google.apps.googleusercontent.com",
        });

        const data = await GoogleSignin.signIn();
        console.log(data)
        const currentUserData = GoogleSignin.getTokens().then((res)=>{
            var accessToken = res.accessToken;
            console.log(res)
        });
        const credential = firebase.auth.GoogleAuthProvider.credential(data.idToken, currentUserData.accessToken)
        // login with credential
        const currentUser = await firebase.auth().signInWithCredential(credential);
        console.info(JSON.stringify(currentUser.toJSON()));
      } catch (e) {
        console.error(e);
      }
    }
return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView style = {styles.container}>
        <GoogleSigninButton
          style={{ width: 192, height: 48 }}
          size={GoogleSigninButton.Size.Wide}
          color={GoogleSigninButton.Color.Dark}
          onPress={this.btnClick}
          disabled={this.state.isSigninInProgress} />
</>
)

Возвращает idToken как ноль, поэтому следующий вызов для firebase.auth().GoogleAuthProvider возвращает ошибку.

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