Можете ли вы помочь мне решить проблему с аутентификацией с помощью Google oauth2?

#php #oauth-2.0 #guzzle

Вопрос:

у меня небольшая проблема с аутентификацией oauth в Google, я вижу несколько сообщений об изменении хоста etc, но что мне добавить, потому что я думаю, что я все перепробовал. Если у вас есть какие-либо предложения .. Спасибо тебе, стеф

 <?php 

require 'vendor/autoload.php';
require 'config.php';

use GuzzleHttpClient;

$client = new Client([
    'timeout' => 2.0,
    'verify' => __DIR__ . '/cacert.pem'

    ]);
try 
{
$response = $client-> request('GET', 'https://accounts.google.com/.well-known/openid-configuration');
$discoveryJSON = json_decode((string)$response->getBody());
$tokenEndpoint = $discoveryJSON->token_endpoint;
$userinfoEndpoint = $discoveryJSON->userinfo_endpoint;
$response = $client->request('POST', $tokenEndpoint, [
'form_params'=>[
    'code' => $_GET['code'],
    'client_id' => GOOGLE_ID,
    'client_secret' => GOOGLE_SECRET,
    'redirect_uri' => 'http://localhost/oauth2/connect.php',
    'grant_type' => 'authorization_code'
]]);

$accessToken = json_decode($response->getBody())->access_token;

$response = $client->request('GET', '$userinfoEndpoint', [
'headers' => [
    'Authorization' => 'Bearer ' . $accessToken]

]);
$response = json_decode($response->getBody());

if ($response->email_verified === true) {
    session_start();
    $_SESSION['email'] = $response->email;
    header('Location: http://localhost/oauth2/secret.php');
    exit();

                                        }
}

catch (GuzzleHttpExceptionClientException $exception) {
    dd($exception->getMessage());  } ?> 
 

ошибка в моем сообщении

Комментарии:

1. Похоже, ваша машина не может найти google.com, что наводит на мысль о какой-то ошибке DNS. P. s. по какой причине вы не используете готовую библиотеку PHP Google для подключения к API вместо того, чтобы создавать все запросы самостоятельно?