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

Социальный вход в PHP с использованием библиотеки HybridAuth

37

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

Социальные сайты также не предоставляют личную информацию о пользователе сайту. Вместо этого они предоставляют только базовые данные, такие как имя, пол, социальный идентификатор (на конкретном социальном сайте), адрес электронной почты. Веб-приложение может запрашивать дополнительные сведения о пользователе. Но пользователь должен предоставить доступ к дополнительной информации. Это полностью зависит от того, предоставит ли пользователь доступ к дополнительной информации или нет. Некоторые социальные сайты, такие как 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, а для дополнительных поставщиков проверьте каталог vendorhybridauthhybridauthadditional-providers.

Допустим, нам нужно указать детали приложения 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 в корневой папке, куда вам нужно написать код.

sign-in.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 для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее