1

我已经从Try Sign-in for Android下载了项目,在 Google API 控制台上创建了项目。我已成功配置signin项目并在模拟器中运行应用程序。我将 OAuth Web 客户端 ID 粘贴到strings.xml. 然后打开这个IdTokenActivity得到了idToken

我将此令牌复制并使用 POSTMAN 创建请求到我的服务器http://localhost/api/googlesignin/hello

在服务器上我有这个代码:

public function hello(Request $request)
{
    $idToken = $request->get('idToken');
    $client = new \Google_Client([
        'client_id' => '[SAME CLIENT ID AS THE ONE IN STRINGS.XML]'
    ]);

    $payload = $client->verifyIdToken($idToken);
    var_dump($payload)
}

但这返回FALSE意味着它无法验证$idToken。但是像这样使用端点令牌验证:

https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={$idToken}

返回状态码 200 和有关此用户的所有信息。

我不知道为什么 GoogleClient 无法验证令牌?我是否使用了错误的客户 ID?

编辑:我找到了问题的根源:我不小心粘贴了两次 ClientID:

'client_id' => 'client-id-tokenclient-id-token'

-.-

4

0 回答 0