博览会:idToken = Null /独立应用中的Google登录

时间:2020-06-28 23:38:08

标签: expo google-signin

当我记录类型===“成功”时返回的用户数据时,有一个访问令牌,但idToken显示为空。刷新令牌,令牌过期也都为空。

我做错什么了吗?

这是我的代码:

_signInAsync = async () => {

    try {

      await GoogleSignIn.askForPlayServicesAsync();

      const { type, user } = await GoogleSignIn.signInAsync();

      userAuth = await user.refreshAuth();

      if (type === "success") {

        alert(JSON.stringify(user));

        const credential = firebase.auth.GoogleAuthProvider(

          user.auth.idToken,

          user.auth.accessToken

        );

        firebase

          .auth()

          .signInWithCredential(credential )

          .catch((err) => {

            alert(err);

          });

        this._syncUserWithStateAsync();

      }

    } catch ({ message }) {

      console.error("[GoogleSignIn][_signInAsync] login: Error:" + message);

    }

  };

如何在没有idToken或accesstoken的情况下使用Firebase凭证?

1 个答案:

答案 0 :(得分:0)

signInAsync = async () => {
    try {
      await GoogleSignIn.askForPlayServicesAsync();
      const result = await GoogleSignIn.signInAsync();
      if (result.type === 'success') {
        
        this.onSignIn(result.user.auth);
        return result.user.auth;
      }
    } catch ({ message }) {
      alert('login: Error:' + message);
    }
  };

这对我有用,

相关问题