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

Для разработчика написать код для входа в социальную сеть непросто. Во-первых, им нужно прочитать документацию, предоставленную социальными сайтами, такими как Facebook, Twitter. Каждый социальный сайт имеет свою собственную библиотеку и собственный способ интеграции функции входа в социальные сети.
Например, вы хотите добавить социальный вход через Facebook и Twitter. В этом случае разработчику необходимо написать другой код для обоих социальных сайтов, как указано в их официальной документации.
Разработчику непросто разработать код, если у вас есть несколько социальных сетей, с которыми можно взаимодействовать.
Благодаря
Используя эту библиотеку, нам не нужно читать документацию по социальным сайтам о том, как интегрировать социальный вход на сайт. Что нам всем нужно сделать, так это правильно установить и настроить библиотеку и зарегистрировать приложение в социальных сетях (что необходимо, даже если мы не используем библиотеку ).
Монтаж
Для установки библиотеки рекомендуется использовать композитор. Если в вашей системе не установлен композитор, вы можете получить его на
Создайте файл 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 и добавьте ключи и секрет приложения в соответствующий массив поставщиков.
Допустим, нам нужно указать детали приложения 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 с помощью библиотеки . Если у вас есть вопросы или предложения, оставьте комментарий ниже. Вы также можете прочитать нашу статью