Firebase:使用Google进行身份验证,我必须在哪里获取id_token?

A.Q*_*oga 6 unity-game-engine firebase firebase-authentication

在Firebase unity3D SDK中当我尝试获取凭据时,它会向我询问id_tokenaccess_token.

对于我见过的一些例子,我猜想access_token必须为null,但我不知道如何处理这个id_token.代码示例:

这是电话:

Firebase.Auth.GoogleAuthProvider.GetCredential(string id_token,string access_token);
Run Code Online (Sandbox Code Playgroud)

这是一个unity3D示例代码:

public void GoogleLogin(Action<bool> loginOK)
{
    string id_token = "90096201****-353hvgf63fecvvc3mi****s6140f98a.apps.googleusercontent.com";
    Firebase.Auth.Credential credential;
    credential = Firebase.Auth.GoogleAuthProvider.GetCredential(id_token,null);
    auth.SignInWithCredentialAsync(credential).ContinueWith (task => 
    {
        if (!task.IsCanceled && !task.IsFaulted)
        {
            loginOK(true);
        }
        else
        {
            loginOK(false);
        }

        if (task.Exception != null)
        {
            Debug.LogException(task.Exception);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我认为这将是来自谷歌控制台的Oauth 2.0令牌.但这似乎不起作用.谷歌回答告诉我下一个:

11-29 13:58:25.476 com.google.android.gms 2009 3225 I AuthChimeraService
"message":" 无法解析Google id_token:90096201**** - 353hvgf63fecvvc3mi****s6140f98a.apps.googleusercontent.com"

我知道我做错了什么?

MX *_*X D 1

google 登录的 firebase 示例应该可以帮助您解决此问题。第一步提到:

按照AndroidiOS的说明获取用于 Google 登录的 ID 令牌。

firebase 文档还有一个用于手动验证 id 令牌的小节,但他们对此提出了建议。

  • 该示例没有展示如何从Unity3D获取idtoken。他们的文档也已经过时了。 (3认同)
  • @MX D 没有足够的文档来提供关于在哪里可以获得字符串 id_token、字符串 access_token 的解释。我有一个导入了 FirebaseAuth.unitypackage 的空项目。 (2认同)