如何重新验证从android生成的REST端的google plus访问令牌

时间:2015-08-31 08:21:40

标签: android google-api google-plus google-api-php-client

我有一个Android应用程序,通过社交登录到基于PHP的REST服务发送谷歌加api访问令牌。然后我需要它在PHP重新验证。现在我有单独的谷歌应用程序的Android和网站的不同客户端凭据。

PHP Side代码就像

            $client = new Google_Client();
            $client->setApplicationName($config->gAppName);
            $client->setClientId($config->gClientId);
            $client->setClientSecret($config->gClientSecret);
            //$client->setRedirectUri($config->gRequestUri);

            $plus = new Google_Service_Plus($client);

            $attributes = $client->verifyIdToken($data['accessToken'], $config->gClientId)->getAttributes();
            $socialUserId = $attributes["payload"]["sub"];

请求休息方提供错误令牌中的段数错误。怎么解决?

更新:在通过php代码检查身份验证后,我发现Access Token应该是JSON对象而不是字符串。喜欢

{"access_token":"[ACCESS_TOKEN_STRING]","token_type":"Bearer","expires_in":[TIMESTAMP],"id_token":"ID_TOKEN","created":[TIMESTAMP]} 

仍然不知道,应该如何生成。

1 个答案:

答案 0 :(得分:0)

在查看在线文档后,我得到了另一个解决方案。我需要使用API​​网址

https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=[ACCESS_TOKEN]

此网址将验证访问令牌以及为Android应用中的用户ID重新提供用户ID。