同时使用Google Signin和Firebase身份验证需要登录两次



我遇到了一个可能会让一些用户感到困惑的问题:

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

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

如果Google signin popup显示两次,一次是对Firebase的身份验证,另一次是针对Google API's的身份验证。

我的问题是,有没有办法,也许在Firebase signin process移交access_token(反之亦然),我没有两次的用户签名,而Google popup只出现一次

您可以使用从Google auth返回的令牌调用authWithOAuthToken:请参阅https://www.firebase.com/docs/web/api/firebase/authwithoauthtoken.html.从那里:

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

// 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);
  }
});

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

相关内容

  • 没有找到相关文章

最新更新