小编mp3*_*man的帖子

谷歌总是返回错误的验证 id 令牌

我有下一个代码,直接来自谷歌参考(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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但此方法始终返回 false,即使使用使用oauthplayground 在线工具创建和工作的有效 id 令牌也是如此

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

try {
            $verify = new Google_AccessToken_Verify();
            $result = $verify->verifyIdToken($this->idToken);
            if($result) …
Run Code Online (Sandbox Code Playgroud)

php google-signin

7
推荐指数
1
解决办法
1024
查看次数

标签 统计

google-signin ×1

php ×1