Laravel Linkedin Login: как войти в Linkedin в Laravel

В этом руководстве я собираюсь объяснить вам, как войти в систему пользователей с помощью Linkedin и сохранить их в своей базе данных с помощью Laravel. Laravel предоставляет нам пакет Socialite , который помогает с социальной аутентификацией.

Вход в 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 

Он создаст две таблицы в вашей базе данных.

  1. users
  2. сбросы_паролей

В таблицу 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.php    Laravel Linkedin Login          

Вход в Laravel Linkedin


@csrf
Запомнить меня

Теперь, если вы еще не запустили сервер, запустите сервер и перейдите по следующему URL-адресу

http://localhost: 8000/ linkedin

Наконец, наш Laravel Linkedin Пример входа окончен. Спасибо.

Оцените статью
nanomode.ru
Добавить комментарий