如何使用Firebase接入Google登录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Firebase接入Google登录?相关的知识,希望对你有一定的参考价值。

我想在我的应用中加入Google登录(不是使用Firebase用户界面,如here所示),但手动可以这么说,如here所示

在我下面提供的图片中,有一部分说:

您必须将服务器的客户端ID传递给requestIdToken方法。要查找OAuth 2.0客户端ID:

一个。在API控制台中打开“凭据”页面。

湾Web应用程序类型客户端ID是后端服务器的OAuth 2.0客户端ID。

我做了一些研究,发现this非常有用,但我所寻求的澄清并不完全。

我想知道的是:

如果我只使用Firebase作为我的后端而没有自己的物理服务器,我需要执行所述的步骤

您必须将服务器的客户端ID传递给requestIdToken方法...

或者我离开这行代码就好了:.requestIdToken(getString(R.string.default_web_client_id))因为我只使用Firebase而且没有我自己的物理服务器?

在我继续以这种方式实施Google登录之前,我需要做一些澄清,而不是使用FirebaseUI。

Firebase Google Sign-In Authentication

答案

根据FirebaseUI 0.3的说法,需要以下几行来构建Google登录选项:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(googleClientId)
    .requestEmail()
    .build();

其中googleClientIdFirebase official documentation for Google authentication中描述的用户ID。这里要注意的最重要的事情是你需要创建一个web application,尽管你正在构建一个android应用程序。

但是,一旦FirebaseUI 0.3.1发布,我们就会发现我们不再需要指定一个id令牌了。您只需要以下代码行:

GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken(getString(R.string.default_web_client_id))
    .requestEmail()
    .build();

减少配置需要担心。

以上是关于如何使用Firebase接入Google登录?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google 登录通过 Firebase 签名后如何访问课堂 API

如何将 Google Play 游戏登录与 Firebase 身份验证结合使用

Google Firebase Unity接入的坑

由于 12500(SIGN_IN_FAILED) 错误代码,使用 Google 登录 Firebase UI 失败

如何在 Flutter 中使用 rest api 不使用 firebase 以 google 或 facebook 登录

Flutter:如何从谷歌登录firebase获取生日? (安卓和iOS)