Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证/验证Google Play Games服务ID?_Java_Android_Google Play_Google Play Services_Google Play Games - Fatal编程技术网

Java 验证/验证Google Play Games服务ID?

Java 验证/验证Google Play Games服务ID?,java,android,google-play,google-play-services,google-play-games,Java,Android,Google Play,Google Play Services,Google Play Games,我目前正在使用一个后端服务,它允许用户在客户端应用程序上使用谷歌游戏库登录 用户可以通过其gplay id向我们发送信息,以便登录或恢复旧帐户。包括他们的gplay id,用户向我们发送以下信息: GPlay ID: gxxxxxxxxx GPGS client id: xxx-xxxxx.apps.googleusercontent.com GPGS auth code: 4/xxxxxxxx message_salt: <ByteString@xxxxxx> GPlay ID:

我目前正在使用一个后端服务,它允许用户在客户端应用程序上使用谷歌游戏库登录

用户可以通过其gplay id向我们发送信息,以便登录或恢复旧帐户。包括他们的gplay id,用户向我们发送以下信息:

GPlay ID: gxxxxxxxxx
GPGS client id: xxx-xxxxx.apps.googleusercontent.com
GPGS auth code: 4/xxxxxxxx
message_salt: <ByteString@xxxxxx>
GPlay ID:gxxxxxxxxx
GPGS客户端id:xxx-xxxxx.apps.googleusercontent.com
GPGS认证代码:4/xxxxxxxx
讯息:
有没有办法在服务器上使用上述数据,并验证用户是否拥有他们发送给我们的GPlay ID

目前,我没有看到任何方法来验证用户对其GPlay ID的所有权,也没有任何明显的方法可以将其与客户机ID或身份验证代码进行比较,以确保用户使用其GPlay ID登录/恢复帐户的请求是合法的


是否有人知道您可以使用上述数据验证用户的任何方法?

服务器身份验证代码是您需要从客户端发送到后端服务器的唯一信息。要使用服务器身份验证代码,请执行以下操作:

  • 将客户端应用程序和后端服务器应用程序与Play console上的相同游戏定义相关联

  • 构建Google登录配置时,添加
    requestServerAuthCode()
    选项,传入后端应用程序的客户端id

  • 用户进行身份验证后,从GoogleAccount对象获取serverAuthCode

  • 将身份验证代码传递到后端服务器

  • 在服务器上,将身份验证代码交换为访问令牌。此令牌特定于您的应用程序和用户。在服务器上保存刷新令牌,以防需要刷新访问令牌


  • 获得访问令牌后,通过向
    www.googleapis.com/games/v1/applications/

    发送GET请求来验证令牌。服务器身份验证代码是您需要从客户端发送到后端服务器的唯一信息。要使用服务器身份验证代码,请执行以下操作:

  • 将客户端应用程序和后端服务器应用程序与Play console上的相同游戏定义相关联

  • 构建Google登录配置时,添加
    requestServerAuthCode()
    选项,传入后端应用程序的客户端id

  • 用户进行身份验证后,从GoogleAccount对象获取serverAuthCode

  • 将身份验证代码传递到后端服务器

  • 在服务器上,将身份验证代码交换为访问令牌。此令牌特定于您的应用程序和用户。在服务器上保存刷新令牌,以防需要刷新访问令牌

  • 获得访问令牌后,通过向
    www.googleapis.com/games/v1/applications发送GET请求来验证令牌/