...
✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як додати вхід Google OAuth на веб-сайт за допомогою PHP

73

Якщо у вас веб-сайт, де користувач може зареєструватися, можливо, ви захочете додати функцію входу в Google OAuth. Вхід Google за допомогою веб-сайтів додає простий процес реєстрації для користувачів. Ваші користувачі можуть використовувати свій обліковий запис Google для реєстрації на вашому веб-сайті. Їм не потрібно заповнювати вашу реєстраційну форму, активувати свій рахунок електронною поштою тощо.

У цій статті ми вивчаємо, як додати функцію входу Google OAuth на свій веб-сайт.

Отримайте свої посвідчення

Для початку роботи з API для входу в Google спочатку потрібно створити проект у Google та отримати свої облікові дані. Нижче наведені кроки, які слід виконати для створення проекту Google.

  • Перейдіть на Google Developer Console.
  • Клацніть на розкривне меню та створіть новий проект, натиснувши знак (+). Ви також можете вибрати існуючий проект.
  • Виберіть свій проект та натисніть «УВІМКНУТИ 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі