В этом руководстве я собираюсь объяснить вам, как войти в систему пользователей с помощью Linkedin и сохранить их в своей базе данных с помощью Laravel. Laravel предоставляет нам пакет Socialite , который помогает с социальной аутентификацией.
- Вход в Laravel Linkedin
- Шаг 1. Настройте проект Laravel
- Шаг 2. Настройка базы данных MySQL
- Шаг 3: Создать аутентификацию Laravel
- Шаг 4. Загрузите пакет laravel/socialite для интеграции с laravel linkedin
- Шаг 5. Создайте приложение Linkedin для получения токенов
- Шаг 6: Создайте контроллер
- Шаг 7. Создайте файл представления LinkedinLogin
- Вход в Laravel Linkedin
Вход в Laravel Linkedin
Сначала мы устанавливаем проект Laravel.
Шаг 1. Настройте проект Laravel
composer create-project --prefer-dist laravel/laravel laravellinkedinlogin
Шаг 2. Настройка базы данных MySQL
Немедленно настройте базу данных в файл .env .
//. envDB_CONNECTION = mysqlDB_HOST = 127.0.0.1DB_PORT = 3306DB_DATABASE = laravellinkedinDB_USERNAME = rootDB_PASSWORD =
Затем перенесите две таблицы, предоставленные Laravel Move, на ваш терминал и нажмите следующую команду.
php artisan migrate
Он создаст две таблицы в вашей базе данных.
- users
- сбросы_паролей
В таблицу users мы можем добавить одно поле под названием
//общедоступная функция create_users_table up () { Schema :: create ('пользователи', функция (Blueprint $ table) {$ table-> increments ('id'); $ table-> строка ('имя'); $ table-> string ('электронная почта') -> unique (); $ table-> строка ('linkedin_id'); $ table-> строка ('пароль'); $ table-> запомнитьToken (); $ table-> отметки времени (); }); }
Немедленно перенесите таблицу с помощью следующей команды.
php artisan migrate
Шаг 3: Создать аутентификацию Laravel
Laravel предоставляет нам базовую аутентификацию. Laravel упрощает реализацию аутентификации. Мы хотим запустить только одну команду в нашем терминале.
php artisan make: auth
Теперь, если мы изменим routes >> web. php , то есть один добавленный маршрут, и для нашего представления он настраивается автоматически.
//web.phpAuth :: routes ();
Шаг 4. Загрузите пакет laravel/socialite для интеграции с laravel linkedin
Socialite — это пакет, который упрощает создание аутентификации в популярных социальных сетях. Итак, мы используем этот специальный пакет Laravel.
composer require laravel/socialite
Найдите поставщиков в config >> app.php и зарегистрируйте
'provider' => [//... Laravel Socialite SocialiteServiceProvider :: class,]
Найдите псевдонимы в файле config >> app.php и зарегистрируйте псевдонимы.
'aliases' => [//... 'Socialite' => Laravel Socialite Facades Socialite :: class,]
Шаг 5. Создайте приложение Linkedin для получения токенов
Перейдите на портал разработчиков Linkedin по следующему URL-адресу: https://www.linkedin.com/developer/ apps
Войдите через свою учетную запись Linkedin. Вы увидите что-то вроде этого.
Скоро вам придется нажмите Создать приложение , заполните форму и создайте новое приложение. После создания приложения вы увидите следующий слайд:
В На изображении выше вы можете увидеть Client ID и Client Secret, которые нам нужны в нашем приложении Laravel.
Теперь возьмите их оба и перейдите в свой редактор.
Перейдите к config >> службам .php и поместите один дополнительный массив служб с помощью следующего кода.
//services.php'linkedin '=> [' client_id '=>' xxxx ',' client_secret ' => 'xxxx', 'redirect' => 'http://localhost: 8000/callback'],
Шаг 6: Создайте контроллер
Теперь нам нужно создать один контроллер, который обрабатывает маршруты аутентификации Linkedin.
php artisan make: controller SocialAuthLinkedinController
Мы должны реализовать два следующих метода в этом контроллере.
1) redirect ():
Перенаправьте наших пользователей на t он Linkedin.
2) callback ():
Обработка обратного вызова от Linkedin.
//SocialAuthLinkedinController.php phpnamespace App Http Controllers; использовать Illuminate Http Request; использовать App User; использовать Socialite; использовать Auth; использовать исключение; класс SocialAuthLinkedinController расширяет контроллер {общедоступная функция redirect () {return Socialite :: driver ('linkedin') -> перенаправление (); } обратный вызов публичной функции () {попробуйте {$ linkdinUser = Socialite :: driver ('linkedin') -> user (); $ existUser = User :: where ('электронная почта', $ linkdinUser-> email) -> first (); если ($ existUser) {Auth :: loginUsingId ($ existUser-> id); } else {$ user = новый пользователь; $ user-> name = $ linkdinUser-> имя; $ user-> email = $ linkdinUser-> email; $ user-> linkedin_id = $ linkdinUser-> id; $ user-> пароль = md5 (rand (1,10000)); $ user-> save (); Auth :: loginUsingId ($ user-> id); } return redirect () -> в ('/home'); } catch (исключение $ e) {return 'error'; }}}
Следующим шагом будет переход к файлу routes >> web.php и регистрация маршрутов.
//Интернет. phpRoute :: get ('linkedin', function () {return view ('loginlinkedin');}); Auth :: routes (); Route :: get ('/redirect', 'SocialAuthLinkedinController @ redirect'); Route: : get ('/callback', 'SocialAuthLinkedinController @ callback'); Route :: get ('/home', 'HomeController @ index') -> name ('home');
Шаг 7. Создайте файл представления LinkedinLogin
Создайте файл в ресурсах >> представлениях >> loginlinkedin.blade.php и установите в нем следующий код.
//loginlinkedin.blade.phpLaravel Linkedin Login
Теперь, если вы еще не запустили сервер, запустите сервер и перейдите по следующему URL-адресу
http://localhost: 8000/ linkedin
Наконец, наш Laravel Linkedin Пример входа окончен. Спасибо.