我的代码:
if ($client->getAccessToken()) {
$_SESSION['access_token'] = $client->getAccessToken();
$obj_token = json_decode($client->getAccessToken());
$accessToken = $obj_token->access_token;
$token_data = $client->verifyIdToken($accessToken)->getAttributes();
}
错误:
未捕获的例外' Google_Auth_Exception'消息'令牌中的段数错误:ya29.qQH27NhAXVXPJ64txBjhT_j1FNaVCjosyfwUFKpgsn9LBiyNDS7wgDXVDR31y9hvFbM824mrzOcrWA'
$ accessToken应该是一个包含2"的字符串。"但我不知道为什么$ token_data返回a29.qQH27NhAXVXPJ64txBjhT_j1FNaVCjosyfwUFKpgsn9LBiyNDS7wgDXVDR31y9hvFbM824mrzOcrWA',只有1"。"
答案 0 :(得分:0)
您正在尝试将access_token
验证为id_token
。它们是不同的令牌,用于不同的目的。对于id_token
示例,请参阅https://github.com/google/google-api-php-client/blob/master/examples/idtoken.php处的代码,以便:
$token_data = $client->verifyIdToken()->getAttributes();
假设Google首先将id_token
作为握手的一部分返回。