Firebase 3-其他验证范围数据

Firebase 3-其他验证范围数据,firebase,firebase-authentication,Firebase,Firebase Authentication,在Firebase 3文档中,他们说您可以获取其他范围数据,例如: 可选:指定要从身份验证提供程序请求的其他OAuth 2.0作用域。要添加作用域,请调用addScope。例如: provider.addScope('https://www.googleapis.com/auth/plus.login'); 一旦进行了身份验证,我就无法找到作为“用户”对象一部分的数据。你知道如何提取额外的数据吗 谢谢,当请求额外的OAuth 2.0作用域时,Firebase V3将不会返回额外请求的数据。您需要

在Firebase 3文档中,他们说您可以获取其他范围数据,例如:

可选:指定要从身份验证提供程序请求的其他OAuth 2.0作用域。要添加作用域,请调用addScope。例如:
provider.addScope('https://www.googleapis.com/auth/plus.login');

一旦进行了身份验证,我就无法找到作为“用户”对象一部分的数据。你知道如何提取额外的数据吗


谢谢,

当请求额外的OAuth 2.0作用域时,Firebase V3将不会返回额外请求的数据。您需要做的是检索返回的凭证(signInWithPopup和getRedirectResult提供了这一点),然后在凭证中使用Google accessToken调用Google api来请求额外的数据。

我已经测试了这一点,并以Github为例,仅当用户的电子邮件地址在github上设置为公共时,才能检索该用户的电子邮件地址。当电子邮件地址设置为私有时,传递
user:email
作用域无效。e、 g

provider = new firebase.auth.GithubAuthProvider();
provider.addScope('user:email');

我也这么想,但看看firebase repo中的示例,他们似乎能够从auth侦听器访问他们想要的所有数据。试图自己重新创建&我没有得到他们分配给变量的字段。你有这个的示例代码吗他们在示例代码中访问的数据只是当前用户及其始终可用的属性。您可以从auth.currentUser.*访问这些。您还可以访问特定于提供程序的数据:auth.currentUser.providerData[indexOfGoogleProviderId].email/displayName等。另一个用户引用将在登录中返回,并通过result.user检索弹出窗口。