新的Firebase for Unity支持刚刚发布到Beta中,我正在尝试使用它进行Auth验证。我已经有一个Google登录,它使用GooglePlayGames.PlayGamesPlatform.Instance.GetServerAuthCode
中的授权码实现oauth2流,并将其发送到服务器,该服务器使用https://www.googleapis.com/oauth2/v4/token
端点交换访问令牌。Firebase.Auth.GoogleAuthProvider.GetCredential的第一个参数是什么?
我假设这个访问令牌是Firebase.Auth.GoogleAuthProvider.GetCredential
方法的第二个参数,但是第一个参数要求的ID令牌是什么?是从GooglePlayGames.PlayGamesPlatform.Instance.GetIdToken
获得的令牌(与GoogleAuthUtil.GetToken
相同,如果我阅读文档/代码是正确的)?
如果是这样,为什么都需要?我认为访问令牌是通过谷歌云服务对用户进行身份验证所需要的,并且ID令牌正在被淘汰。
编辑:经过一些测试后,我发现传递从GooglePlayGames.PlayGamesPlatform.Instance.GetIdToken
获得的ID令牌确实允许Firebase进行身份验证。问题是,它每次都要求用户的电子邮件地址。如果可能,我想避免这种情况。
GetToken
,GetAccessToken
和GetIdToken
之间的区别是什么,除了GetIdToken
需要回调?
嗨,你有没有发现解决这个问题呢?我也陷入了同样的情况。 –