Как реализовать вход через LinkedIn на веб-сайте с помощью PHP
Социальный вход – это популярный сегодня термин. Многие веб-сайты позволяют пользователю входить в систему, используя свои учетные записи в социальных сетях. При этом пользователю не нужно проходить процесс проверки для создания учетной записи на вашем веб-сайте. Это также избавляет вас от создания системы потока регистрации. Социальные сайты уже сделали это, и веб-сайты могут полагаться на социальные сайты для проверки пользователей.
Существует несколько популярных социальных сетей входа в систему, таких как Google, Facebook, Twitter, LinkedIn и т.д. В этой статье мы изучаем вход в LinkedIn с помощью PHP. Если вас интересует вход в систему Google, ознакомьтесь с нашей статьей Как добавить вход в систему Google OAuth на веб-сайте с помощью PHP.
Создать приложение LinkedIn
Чтобы добавить логин LinkedIn на свой веб-сайт, вам сначала необходимо создать приложение в своей учетной записи LinkedIn. Нам нужен идентификатор клиента, секрет клиента приложения LinkedIn. Вам также необходимо установить авторизованный URL-адрес перенаправления в приложении.
- Перейдите в сеть разработчиков LinkedIn.
- Нажмите кнопку «Создать приложение».
- Заполните основную информацию в форме.
- Добавьте
YOUR_DOMAIN_URL/index.php
в поле URL-адреса перенаправления. - Скопируйте идентификатор клиента и секретные ключи клиента.
В целях обучения я использую локальный сервер, поэтому я установил URL-адрес перенаправления как http://localhost/linkedin/index.php
. Вы можете настроить этот URL-адрес в соответствии с вашими требованиями.
Затем щелкните вкладку «Продукты». Здесь из списка доступных продуктов выберите «Войти через LinkedIn». После выбора этого продукта он пойдет на проверку, а затем будет добавлен в качестве добавленного продукта. Проверка может занять некоторое время. В моем случае это заняло около 10 минут.
Установка библиотеки HybridAuth
HybridAuth – это социальный знак с открытым исходным кодом для библиотеки PHP. Используя эту библиотеку, вы можете добавить социальный логин для одного или нескольких провайдеров, таких как Google, Facebook, Twitter, LinkedIn и т.д. Эта библиотека упрощает жизнь разработчика. Как разработчику вам не нужно беспокоиться об обработке процесса OAuth. Библиотека HybridAuth делает это за нас в своей основе.
Создайте composer.json
файл в корневой папке проекта и добавьте в него приведенный ниже код.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Затем откройте терминал в корневом каталоге вашего проекта и выполните команду:
composer install
Создайте config.php
файл и добавьте свои учетные данные, область для входа в LinkedIn OAuth и URL-адрес обратного вызова.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => [
'id' => 'YOUR_CLIENT_ID',
'secret' => 'YOUR_CLIENT_SECRET'
],
'scope' => 'r_liteprofile r_emailaddress',
];
$adapter = new HybridauthProviderLinkedIn( $config );
Обязательно замените заполнители фактическими значениями. Я передал URL-адрес обратного вызова, YOUR_DOMAIN_URL/index.php
который вам нужно настроить в соответствии с вашими требованиями.
Войти через LinkedIn на PHP
Мы все настроены с конфигурациями. Итак, давайте идти вперед и создать 2 файла 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() ;
}
В приведенном выше коде библиотека HybridAuth проверяет, вошел ли пользователь в LinkedIn. Если это не так, пользователь будет перенаправлен на LinkedIn, где ему необходимо авторизовать свою учетную запись с помощью вашего приложения. В случае успешной авторизации пользователя редирект обратно к index.php
и используя getUserProfile()
метод печатает информацию о пользователе.
Наконец, чтобы выйти из приложения пользователя, вам необходимо добавить в 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() ;
}
Надеюсь, вы понимаете, как добавить логин через LinkedIn на веб-сайт с PHP. Пожалуйста, поделитесь своими мыслями в разделе комментариев ниже.
Статьи по Теме
- Как добавить логин Google OAuth на веб-сайт с помощью PHP
- Как добавить вход в Twitter OAuth на веб-сайт с помощью PHP
- Вход в Google в Laravel с помощью Laravel Socialite