Как правильно реализовать авторизацию через социальные сети в паре с laravel-passport-ом?

Не могу точно понять, как реализовать авторизацию через социальные сети в паре с laravel-passport-ом? В документации laravel нашел laravel socialite, после через внешний сервис авторизации я получаю access и refresh токены сервиса, через который я авторизовался. В гугле люди писали свои кастомные grant-ы для паспорта и через них получали уже токены для своего сайта, но что-то мне подсказывает, что это такой себе вариант. Как лучше всего реализовать авторизацию такого типа?

В голову приходила мысль сделать свой callback, на который бы от клиента отправлялись токены стороннего сервиса, а потом мой сайт уже отправлял бы запрос на внешний сервис, но звучит как-то бредово... при каждом защищенном запросе к моему ресурсу чекать пользователя через внешний сервис (google и .д.)... или все же правильно? Совсем запутался)
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@Kostik_1993
Web Developer
Вход через соц сети делается один раз. Процесс этот простой вы переходите по адресу вашего сайта который редиректит вас на выбранный сервис (например ВК) там вы жмете войти и вас редирекит на callback url вашего сервиса с токенон (одноразовым) по которому вы можете получить данные юзера, вы (socialite) шлет запрос на получение пользователя только один раз, а не каждый. С полученными данными вы уже работаете, например создаете пользователя если его нет и выролняете вход на вашем бекенде
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы