Вопрос Как подключить авторизацию через Google OAuth2.0 на localhost?

Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
60
Реакции[?]
9
Поинты[?]
0
Пытаюсь подключить, но она не работает.
1686584839814.png

Так выглядит настройка гугла:
1686584951491.png
1686585013815.png

Код файла, отвечающего за редирект:
auth_callback.php:
<?php
// auth_callback.php

// Подключение библиотеки Google API для PHP
require_once 'path/to/google-api-php-client/vendor/autoload.php';

// Подключение к базе данных
R::setup('mysql:host=localhost;dbname=skillzap', 'root', '');

// Конфигурационные данные
$client_id = '**************************************************';
$client_secret = '**************************************************';
$redirect_uri = 'http://localhost/auth_callback.php';

// Создание клиента Google API
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);

// Получение кода авторизации от Google
$code = $_GET['code'];

// Обмен кода авторизации на маркер доступа
$tokenURL = 'https://accounts.google.com/o/oauth2/token';
$data = array(
    'code' => $code,
    'client_id' => $clientID,
    'client_secret' => $clientSecret,
    'redirect_uri' => $redirectURI,
    'grant_type' => 'authorization_code'
);
$options = array(
    'http' => array(
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data)
    )
);
$context = stream_context_create($options);
$response = file_get_contents($tokenURL, false, $context);
$tokenInfo = json_decode($response, true);

// Проверка подлинности маркера доступа
if (isset($tokenInfo['access_token'])) {
    $accessToken = $tokenInfo['access_token'];

    // Получение информации о пользователе от Google
    $userInfoURL = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' . $accessToken;
    $userInfo = file_get_contents($userInfoURL);
    $user = json_decode($userInfo, true);

    // Проверка адреса электронной почты пользователя
    $email = $user['email'];
    if (strpos($email, '@mpt.ru') !== false) {
        // Адрес электронной почты соответствует условию (mpt)

        // Сохранение информации о пользователе в базе данных RedBean
        $userBean = R::dispense('user');
        $userBean->email = $email;
        R::store($userBean);

        // Редирект на главную страницу или другую страницу вашего веб-сайта
        header('Location: http://localhost/Posledniyshtrikh.php');
        exit;
    } else {
        // Адрес электронной почты не соответствует условию (mpt)
        echo 'Авторизация доступна только для пользователей с почтовыми адресами mpt.';
    }
} else {
    // Ошибка получения маркера доступа
    echo 'Ошибка при получении маркера доступа от Google.';
}
?>

Помогите исправить и подскажите в чём ошибка? Каких-то нормальных гайдов в инете не нашёл
 
Сверху Снизу