Google sign for Unity (Windows独立构建)- invalidGoogleToken与Play



希望有人能在这里指出我在正确的方向,我试图登录到Playfab使用从Unity异步调用检索的谷歌验证代码,流程如下:

  1. 在Unity中点击我的login to google按钮

  2. Unity开始侦听响应并打开google登录浏览器会话。

  3. 用户点击电子邮件/登录他们想要的电子邮件。

  4. 这个响应返回给Unity一个验证码。

  5. 然后我尝试使用playfabs LoginWithGoogleAccount方法";返回的google验证代码:

    PlayFabClientAPI.LoginWithGoogleAccount(new LoginWithGoogleAccountRequest()
    {
    TitleId = PlayFabSettings.TitleId,
    ServerAuthCode = returnedWindowsGoogleAuthCode,
    CreateAccount = true,
    }, OnPlayfabGooglePlayAuthComplete, OnPlayfabGooglePlayAuthFailed);
    
  6. 此操作失败,playfab返回一个带有"invalidGoogleToken"的响应。

从我在谷歌上读到的东西来看,这个令牌可能在"used"状态的时候,我调用LoginWithGoogleAccount,我可能需要一个刷新令牌?但我不太熟悉谷歌的API,所以我可能会完全偏离标记?但如果是这样,我该怎么做呢?我如何重新请求一个有效的令牌,而不回到浏览器再次做同样的事情?

给你一个想法,几乎确切的代码,我正在看,但我已经改变了稍微让它在Unity中工作,我下面的谷歌样本OAuthDesktopApp代码:OAuthDesktopApp示例代码

我正在调用方法"button_Click",这运行并发出请求,Unity然后开始监听谷歌响应在第72行,验证代码然后输出到日志在第129行。

第129行的验证码输出是我随后传递给LoginWithGoogleAccount的内容,然后导致失败的invalidGoogleToken",这也会运行用户信息请求,正确返回您登录的用户的姓名/电子邮件等。

只是为了添加到我之前的评论,如果我删除对performCodeExchange行132的调用(我在某个地方读到,在那一点上,我正在为令牌交换验证码,因此验证码将不再工作?我猜在这里),然后如果我调用PlayFabClientAPI。LoginWithGoogleAccount和我看到的验证码:

PlayFabError错误:

error.GetHashCode (): 2051826304

错误。错误:InvalidGoogleToken

错误。ErrorMessage: invalid_grant details: Missing code verifier.

错误。ErrorDetails:空

希望这篇文章能对我有所帮助。

首先感谢那些回答这个问题的人,所以我在Playfab mod的评论后设法解决了这个问题,似乎没有官方的方式从谷歌登录使用独立的Unity构建,也没有官方的方式登录到Playfab使用相同的构建方法。

我使用的解决方案使用了一个修改过的Unity版本,其中一个来自OAuth 2.0的Google样本用于移动&桌面应用。这将允许你在Unity中获得oauth代码,然后你可以将这个oauth代码传递给Playfab进行登录,但是Playfab已经弃用了这种方法(如果这是唯一的解决方案,这是愚蠢的),所以你需要修改Playfab SDK来包含accesstoken,然后你可以使用它来最终登录。

相关内容

  • 没有找到相关文章

最新更新