Итак, я реализовал Google Sign-in в своем приложении для Android, и теперь я хочу аутентифицировать вошедшего в систему пользователя на моем php-сервере. Я следовал этому руководству: https://developers.google.com/identity/sign-in/android/backend-auth. Я сделал все на странице, а затем добавил идентификатор клиента. (Идентификатор клиента из Google API Console с именем веб-клиента (создается автоматически для входа в Google)). Но когда я пытаюсь проверить свой бэкэнд, я получаю следующую ошибку:
Uncaught GuzzleHttp\Exception\ConnectException:
cURL error 7: Failed to connect to www.googleapis.com port 443:
Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
in /srv/disk1/***********/google-api-
client/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185
Что я делаю не так?
Вот мой php код:
<?php
include('database.php');
require_once 'google-api-client/vendor/autoload.php';
/////////////////////////////////
$request_type = $_SERVER['REQUEST_METHOD'];
$CLIENT_ID = "***";
if ($request_type === 'POST') {
$entityBody = file_get_contents('php://input');
$temp = json_decode($entityBody);
$data = json_decode(json_encode($temp), true);
if ($data['id_token']) {
$client = new Google_Client(['client_id' => $CLIENT_ID]);
$access_token = $client->getAccessToken();
$payload = $client->verifyIdToken($data['id_token']);
if ($payload) {
header('Content-Type: application/json');
$query = query($connection,
'SELECT * FROM `*****`',
[]);
print(json_encode($query));
} else {
http_response_code(401);
print("Unauthorized request.");
}
}
else {
http_response_code(401);
print("No id token received.");
}
}
else {
http_response_code(405);
print("Method not allowed.");
}
?>