AngularFirebase谷歌登录idToken有时会返回用户资料

问题描述 投票:0回答:1

这是一个简单的离子和电容应用,针对iOS和Android。我们通过AngularFirebase使用folliwng代码对用户进行认证。

private async loginGoogleWeb() {
  const provider = new firebase.auth.GoogleAuthProvider();
  provider.addScope('profile');
  provider.addScope('email');
  const credential = await this.afAuth.auth.signInWithPopup(provider);

  this.updateUserData(credential);
}

奇怪的是,有些时候,我们的应用会出现这样的情况 credential.credential.idToken包括了用户资料(given_name、family_name等)。但大多数情况下,idToken并不包含这些信息。

有什么想法可以解释为什么会发生这种情况吗?任何帮助都将是非常感激的。

google idToken

firebase ionic-framework google-authentication
1个回答
0
投票

所以经过大量的搜索和阅读,发现Firebase并没有返回预期的配置文件的idToken。根据其中一个答案,这个 发出 发布在Firebase Github中。

正如我前面所说,你对功能的要求是合理的,然而我们在过去讨论过这些东西,并决定现在不会将它们添加到Firebase Auth中。由于这个问题跟踪器是为了跟踪SDK中的bug或我们计划实现的功能请求,所以我打算关闭这个问题。

我最后做的是 "交换 "firebase提供的access_token,并使用下面的url获取用户配置文件。https:/www.googleapis.comoauth2v1userinfo?alt=json&access_token={firebase_provided_access_token}。

只是把这个贴出来,以防以后有人碰到这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.