Google Api Php客户端 - Google Auth OAuth 2

时间:2015-07-07 20:56:21

标签: google-oauth google-api-php-client google-authentication

我的代码:

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"。"

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作为握手的一部分返回。