WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как добавить логин Google OAuth на веб-сайт с помощью PHP

215

Если у вас есть веб-сайт, на котором пользователь может зарегистрироваться, вы можете добавить функцию входа в систему через Google OAuth. Вход в систему Google для веб-сайтов упрощает процесс регистрации для пользователей. Ваши пользователи могут использовать свою учетную запись Google для регистрации на вашем веб-сайте. Им не нужно заполнять вашу регистрационную форму, активировать свою учетную запись по электронной почте и т.д.

В этой статье мы изучаем, как добавить на свой сайт функцию входа в Google OAuth.

Получите свои учетные данные

Чтобы начать работу с API входа в Google, вам сначала нужно создать проект в Google и получить свои учетные данные. Ниже приведены шаги, которые необходимо выполнить для создания проекта Google.

  • Перейдите в консоль разработчика Google.
  • Щелкните раскрывающийся список и создайте новый проект, нажав знак (+). Кроме того, вы также можете выбрать существующий проект.
  • Выберите свой проект и нажмите «ВКЛЮЧИТЬ APIS И УСЛУГИ». В поле поиска введите «Google+» и ​​выберите API Google+. Включите это.
  • Снова зайдите в панель управления проекта и выберите «Учетные данные» на боковой панели.
  • На вкладке «Учетные данные» щелкните раскрывающееся меню «Создать учетные данные» и выберите «Идентификатор клиента OAuth».
  • Выберите веб-приложение в списке Тип приложения. В авторизованных URL-адресах перенаправления введите URL-адрес.YOUR_DOMAIN_URL/index.php
  • После сохранения вы получите диалоговое окно с вашим идентификатором клиента и секретом клиента. Скопируйте эти ключи, которые нам понадобятся на следующих шагах.

Вы можете заметить URL-адрес перенаправления, который мы установили в приложении. В этом руководстве мы будем обрабатывать код обратного вызова в index.php. Пользователи могут использовать для этой цели любой другой файл.

Установка библиотеки HybridAuth

HybridAuth – это PHP-библиотека для входа в социальные сети с открытым исходным кодом. Используя эту библиотеку, мы можем добавить социальный вход для одного или нескольких провайдеров, таких как Google, Facebook, Twitter и т.д.

Как добавить логин Google OAuth на веб-сайт с помощью PHP

Давайте установим библиотеку HybridAuth с помощью композитора. Создайте composer.jsonфайл в корневой папке проекта и добавьте в него приведенный ниже код.

{
    "require": {
        "hybridauth/hybridauth": "~3.0"
    }
}

Затем откройте терминал в корневом каталоге вашего проекта и выполните команду:

composer install

Создайте config.phpфайл и добавьте в него приведенный ниже код для настройки входа в Google.

<?php
require_once 'vendor/autoload.php';
 
$config = [
    'callback' => 'YOUR_DOMAIN_URL/index.php',
    'keys'     => [
                    'id' => 'YOUR_CLIENT_ID',
                    'secret' => 'YOUR_CLIENT_SECRET'
                ],
    'scope'    => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
    'authorize_url_parameters' => [
            'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
            'access_type' => 'offline'
    ]
];
 
$adapter = new HybridauthProviderGoogle( $config );

Обязательно замените заполнители фактическими значениями. В приведенном выше коде мы передали YOUR_DOMAIN_URL/index.phpзначение обратного вызова. Отрегулируйте этот путь в соответствии с вашими требованиями.

Добавить логин Google OAuth

Мы все настроили наши конфигурации и хорошо, что продолжаем. Итак, давайте создадим файлы index.phpи logout.phpв корневом каталоге вашего проекта.

index.php

<?php
require_once 'config.php';
 
try {
    $adapter->authenticate();
    $userProfile = $adapter->getUserProfile();
    print_r($userProfile);
    echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Теперь, когда вы запускаете index.phpбраузер, наш код сначала проверяет, аутентифицирован ли пользователь с помощью «Google» или нет. В противном случае он перенаправляется на страницу входа в Google. Пользователь должен войти в систему со своей учетной записью Google, а затем он снова будет перенаправлен на index.php. Как только пользователь переходит на страницу входа, мы получаем профиль пользователя с помощью этого метода getUserProfile().

В logout.phpфайле нам просто нужно отключить адаптер Google.

logout.php

<?php
require_once 'config.php';
 
try {
    if ($adapter->isConnected()) {
        $adapter->disconnect();
        echo 'Logged out the user';
        echo '<p><a href="index.php">Login</a></p>';
    }
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Мы надеемся, что вы сможете узнать о входе в систему через Google OAuth на веб-сайте с PHP. Пожалуйста, поделитесь своими мыслями в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее