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

Соціальний вхід у PHP за допомогою бібліотеки HybridAuth

14

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

Соціальні сайти також не надають приватну інформацію користувача веб-сайту. Натомість вони надають лише основні дані, такі як ім’я, стать, соціальний ідентифікатор (на конкретному соціальному сайті), електронна пошта. Веб-програма може запитати більше інформації про користувача. Але користувач повинен надати доступ до додаткової інформації. Це повністю залежить від того, хто надає доступ до додаткової інформації, чи ні. Деякі соціальні сайти, такі як Twitter, не містять електронної пошти користувача. Справа в тому, що безпечно використовувати свій профіль соціального сайту для взаємодії з веб-сайтом.

Соціальний вхід у PHP за допомогою бібліотеки HybridAuth

Для розробника не просто написати код для соціального входу. По-перше, їм потрібно прочитати документацію, яку надають соціальні сайти, такі як Facebook, Twitter. Кожен соціальний сайт має власну бібліотеку та власний спосіб інтегрувати функцію соціального входу.

Наприклад, ви хочете додати соціальний логін у Facebook та Twitter. У цьому випадку розробник повинен написати інший код для обох соціальних сайтів, як це передбачено їхньою офіційною документацією.

Розробнику непросто розробити код, якщо у вас є кілька соціальних сайтів для взаємодії.

Завдяки HybridAuth – соціальному знаку з відкритим кодом у бібліотеці PHP. Команда HybridAuth полегшує життя наших розробників.

Використовуючи цю бібліотеку, нам не потрібно читати про документацію соціальних сайтів про те, як інтегрувати соціальний логін на веб-сайті. Все, що нам потрібно зробити, – це правильно встановити та налаштувати бібліотеку HybridAuth та зареєструвати програму на соціальних сайтах (що необхідно, навіть якщо ми не використовуємо бібліотеку HybridAuth).

Встановлення

Для встановлення бібліотеки HybridAuth рекомендується використовувати композитор. Якщо у вас немає встановленого композитора у вашій системі, ви можете отримати його з офіційного веб-сайту.

Створіть файл composer.json у кореневому каталозі проекту та помістіть у нього код нижче.

{
    "require": {
        "hybridauth/hybridauth": "2.9.6"
    }
}

Ми прийняли “2.9.6", оскільки на момент написання цієї статті це останній стабільний випуск бібліотеки HybridAuth.

Відкрийте термінал у кореневому каталозі проекту та запустіть команду composer install. Він встановить у вашій системі бібліотеку HybridAuth версії 2.9.6.

Конфігурація

Переконайтеся, що ви правильно налаштовуєте бібліотеку. Якщо вам не вдалося правильно його налаштувати, ви не отримаєте переваги від бібліотеки і не потрапите в розлад.

Скопіюйте 2 файли config.php та index.php із каталогу vendorhybridauthhybridauthhybridauth та розмістіть у своєму кореневому каталозі проекту. Перейменуйте файл index.php на hybridauth.php, оскільки ми можемо мати інший index.php в тому ж місці.

Відкрийте файл config.php і додайте ключі програми та секрет у масив відповідних постачальників.

Клацніть тут, щоб отримати список усіх соціальних провайдерів, яких підтримує HybridAuth. Ми також знаходимо постачальників та додаткових постачальників у самій встановленій бібліотеці. Щоб побачити постачальників, перейдіть до vendorhybridauthhybridauthhybridauthHybridProviders, а для додаткових постачальників перегляньте каталог vendorhybridauthhybridautddditional-провайдерів.

Скажімо, нам потрібно вказати деталі програми Facebook. Для цього в config.php для провайдера Facebook наш код такий.

return array(
    "base_url" => "YOUR_SITE_URL/hybridauth.php",
    "providers" => array(
        //other providers code
        "Facebook" => array(
            "enabled" => true,
            "keys" => array("id" => "YOUR_APP_ID", "secret" => "YOUR_APP_SECRET"),
            "trustForwarded" => false,
        ),
        //other providers code
    ),
);

Переконайтеся, що ви замінили заповнювачі YOUR_APP_ID та YOUR_APP_SECRET на фактичні значення.

Ми також пройшли шлях до файлу hybridauth.php для base_url.

Далі відкрийте файл hybridauth.php та внесіть такі зміни.

Замінити

require_once( "Hybrid/Auth.php" );
require_once( "Hybrid/Endpoint.php" );
 
Hybrid_Endpoint::process();

С

require 'vendor/autoload.php';
 
Hybrid_Endpoint::process();

Фактичний код соціального входу за допомогою бібліотеки HybridAuth

На цьому етапі ми завершили встановлення та налаштування бібліотеки. Далі нам потрібно написати фактичний код соціального входу.

Скажімо, нам потрібно використовувати соціальний логін у Facebook, тоді наш код буде, як показано нижче. Ми вважаємо, що у вас є sign-in.php у кореневій папці, де вам потрібно написати код.

вхід.php

require 'vendor/autoload.php';
 
try {
    $hybridauth = new Hybrid_Auth( 'config.php' );
 
    $adapter = $hybridauth->authenticate( "Facebook" ); //it can be Twitter, Google etc.
 
    $user_profile = $adapter->getUserProfile();
} catch(Exception $e){
    echo 'Oops, we ran into an issue! '. $e->getMessage();
}

Параметр, переданий методу authenticate(), повинен збігатися з ключем провайдера у файлі config.php. Функція authenticate () перевіряє, чи аутентифіковано користувача. Якщо користувач не аутентифікований, він переспрямовує на сторінку входу відповідного соціального сайту. Після успішної автентифікації користувач знову переспрямовує до нашого файлу sign-in.php.

У наступному рядку ми отримуємо деталі автентифікованого користувача за допомогою функції getUserProfile ().

Щоб вийти з користувача, приєднаного до провайдера, ми просто напишемо наведений нижче код у нашому файлі logout.php.

logout.php

require 'vendor/autoload.php';
 
Hybrid_Auth::logoutAllProviders();

Ми сподіваємось, ви розумієте, як додати скрипт соціального входу в PHP за допомогою бібліотеки HybridAuth. Якщо у вас є якісь запитання чи пропозиції, залиште коментар нижче. Ви також можете прочитати нашу статтю Система соціального входу за допомогою Laravel Socialite.

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі