如何使用Firebase进行Google登录?

时间:2017-12-19 07:03:07

标签: android firebase google-api firebase-authentication google-signin

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

在我下面提供的图片中,有一部分内容表示:

  

您必须将服务器的客户端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

1 个答案:

答案 0 :(得分:1)

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

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

其中googleClientIdFirebase official documentation for Google authentication中描述的用户ID。这里需要注意的最重要的事情是,您需要创建一个网络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();

担心的配置减少。