Лучший опыт

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

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

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

Содержание
Монтаж
Конфигурация
Фактический код входа в социальную сеть с использованием библиотеки

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

Социальные сайты также не предоставляют личную информацию о пользователе сайту. Вместо этого они предоставляют только базовые данные, такие как имя, пол, социальный идентификатор (на конкретном социальном сайте), адрес электронной почты. Веб-приложение может запрашивать дополнительные сведения о пользователе. Но пользователь должен предоставить доступ к дополнительной информации. Это полностью зависит от того, предоставит ли пользователь доступ к дополнительной информации или нет. Некоторые социальные сайты, такие как Twitter, не предоставляют адрес электронной почты пользователя. Дело в том, что использовать профиль в социальной сети для взаимодействия с сайтом безопасно.

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

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

Например, вы хотите добавить социальный вход через Facebook и Twitter. В этом случае разработчику необходимо написать другой код для обоих социальных сайтов, как указано в их официальной документации.

Разработчику непросто разработать код, если у вас есть несколько социальных сетей, с которыми можно взаимодействовать.

Благодаря – социальному знаку с открытым исходным кодом в библиотеке PHP. Команда облегчает жизнь нашим разработчикам.

Используя эту библиотеку, нам не нужно читать документацию по социальным сайтам о том, как интегрировать социальный вход на сайт. Что нам всем нужно сделать, так это правильно установить и настроить библиотеку и зарегистрировать приложение в социальных сетях (что необходимо, даже если мы не используем библиотеку ).

Монтаж

Для установки библиотеки рекомендуется использовать композитор. Если в вашей системе не установлен композитор, вы можете получить его на .

Создайте файл composer.json в корневом каталоге вашего проекта и поместите в него приведенный ниже код.

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

Мы пропустили «2.9.6», потому что на момент написания этой статьи это библиотеки .

Откройте терминал в корневом каталоге проекта и выполните команду composer install. Он установит в вашу систему библиотеку версии 2.9.6.

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

Убедитесь, что вы правильно настраиваете библиотеку. Если вам не удалось ее правильно настроить, вы не получите пользы от библиотеки и разочаруетесь.

Скопируйте 2 файла config.php и index.php из каталога vendorhybridauthhybridauthhybridauth и поместите в корневой каталог проекта. Переименуйте файл index.php в hybridauth.php, так как у нас может быть другой index.php в том же месте.

Откройте файл config.php и добавьте ключи и секрет приложения в соответствующий массив поставщиков.

чтобы получить список всех социальных сетей, поддерживаемых . Мы также находим поставщиков и дополнительных поставщиков в самой установленной библиотеке. Чтобы увидеть поставщиков, перейдите к 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();

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

На этом мы завершили установку и настройку библиотеки. Затем нам нужно написать код для входа в социальную сеть.

Допустим, нам нужно использовать социальный вход с 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 с помощью библиотеки . Если у вас есть вопросы или предложения, оставьте комментарий ниже. Вы также можете прочитать нашу статью Система входа в социальную сеть с использованием Laravel Socialite.