gpt4 book ai didi

php - Google 总是返回错误的验证 ID token

转载 作者:可可西里 更新时间:2023-10-31 23:45:10 28 4
gpt4 key购买 nike

我有下一个代码,直接来自谷歌引用 (https://developers.google.com/identity/sign-in/web/backend-auth)

public function verifyFromAndroid($idToken=null) {
if(empty($idToken)) {
$idToken = self::SAMPLE_ID_TOKEN;
}
$client = new Google_Client(['client_id' => self::CLIENT_ID]);
$payload = $client->verifyIdToken($idToken);
if ($payload) {
print_r($payload);
$userid = $payload['sub'];
// If request specified a G Suite domain:
//$domain = $payload['hd'];
} else {
var_dump($payload);
$this->lastError = "Invalid ID token";
return false;
}
}

但此方法始终返回 false,即使使用使用 oauthplayground online tool 创建和工作的有效 ID token 也是如此。 .

下一个代码工作正常,直接使用 GoogleAccessToken_Verify 类。谁能告诉我为什么官方 Google 代码不起作用,是的,我自己的代码使用官方 Google-clien-php sdk?

try {
$verify = new Google_AccessToken_Verify();
$result = $verify->verifyIdToken($this->idToken);
if($result) {

print_r($result);
$friendlyData = $this->translateData($result, true);
if(!$friendlyData) {
return false;
}
return $friendlyData;
}
else {
$this->lastError = "Invalid token verification, no error code";
return false;
}
}
catch(UnexpectedValueException $ex) {
$this->lastError = "UnVaEx (Code {$ex->getCode()}): {$ex->getMessage()}";
return false;
}

最佳答案

尝试添加完整的客户端 ID

xxxxxxxxxxxxxx-xxxxx-yy-zz.apps.googleusercontent.com

启动

$client = new Google_Client(['client_id' => self::CLIENT_ID]);

应该可以,我也遇到了同样的问题...

关于php - Google 总是返回错误的验证 ID token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298768/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com