Authentication 同时使用Google Signin和Firebase auth需要登录两次吗?

Authentication 同时使用Google Signin和Firebase auth需要登录两次吗?,authentication,google-api,firebase,firebase-authentication,google-api-js-client,Authentication,Google Api,Firebase,Firebase Authentication,Google Api Js Client,对于一些用户来说,我遇到了一个可能令人困惑的问题: 我在我的应用程序中使用Firebase来存储用户数据等。为了保护用户数据,我使用内置的Google身份验证。我认识到我可以在这个登录过程中定义范围,这是用户可以/应该允许的,但我注意到你不能要求所有的Google范围/服务(都带有Firebase内置功能) 因此,我必须使用googlejs库进行身份验证,以访问存储在Google上的其余用户数据(我想在我的Web应用程序中显示用户) 如果Google登录弹出窗口显示两次,一次是对Firebase

对于一些用户来说,我遇到了一个可能令人困惑的问题:

我在我的应用程序中使用
Firebase
来存储用户数据等。为了保护用户数据,我使用内置的
Google身份验证
。我认识到我可以在这个登录过程中定义
范围
,这是用户可以/应该允许的,但我注意到你不能要求所有的Google范围/服务(都带有
Firebase
内置功能)

因此,我必须使用
googlejs库
进行身份验证,以访问存储在
Google
上的其余用户数据(我想在我的Web应用程序中显示用户)

如果
Google登录弹出窗口
显示两次,一次是对
Firebase
的验证,另一次是对
Google API的
的验证,可能会有点混乱


我的问题是,是否有办法在
Firebase登录过程中移交
access\u令牌
(或反之亦然),我没有让用户登录两次,而
谷歌弹出窗口
只显示一次

您可以使用从Google auth获得的令牌调用
authWithOAuthToken
:请参阅。从那里:

此方法接受OAuth凭据的单个字符串参数(例如OAuth 2.0承载访问令牌)或对象(例如一组OAuth 1.0a凭据)。使用OAuth令牌登录Facebook、GitHub和Google只需要一个字符串访问令牌:

//使用现有OAuth 2.0访问令牌向Facebook进行身份验证
var ref=新的火基(“https://.firebaseio.com");
ref.authWithOAuthToken(“facebook”,函数)(错误,authData){
如果(错误){
log(“登录失败!”,错误);
}否则{
log(“使用有效负载成功进行身份验证:”,authData);
}
});

文档中的示例使用facebook,但谷歌代币也是如此。

如果我使用的是Polymer
firebase auth
元素,它在那里也起作用吗?
// Authenticate with Facebook using an existing OAuth 2.0 access token
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.authWithOAuthToken("facebook", "<ACCESS-TOKEN>", function(error, authData) {
  if (error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Authenticated successfully with payload:", authData);
  }
});