我有一个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]}
仍然不知道,应该如何生成。
答案 0 :(得分:0)
在查看在线文档后,我得到了另一个解决方案。我需要使用API网址
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=[ACCESS_TOKEN]
此网址将验证访问令牌以及为Android应用中的用户ID重新提供用户ID。