Какая логика авторизации через соцсети на сайте c laravel jwt?
На сайте есть стандартная регистрация и вход через email-password.
Теперь нужно сделать авторизацию через соцсети, например vk.
На сервере я получил vk данные пользователя - id, first_name, last_name.
Вот на этом этапе немного недопонимаю.
1. Эти данные нужно сохранить в БД.
2. После сохранения данных как авторизовать пользователя? если у меня авторизация есть через email - password
3. Если пользователь авторизуется через другую соцсеть, у него будет создано 2 записи в бд.
Абисняю:
1. Сохраняешь данные в БД — пользователя в одну таблицу, привязку к соцсети в другую.
2. Аутентифицируешь (это не авторизация, когда вы уже поймёте разницу) пользователя по id в своей БД. Как — написано в документации.
3. Надо запрашивать из соцсети ещё и мыло, оно и будет «объединяющим» ключом — редко кто регается в разных соцсетях с разными мылами. Ну а если и так, то ничего не поделать.
Благодарю за ответ
Можете еще подсказать?
Сохранил данные пользователя в 2 таблицы.
Далее мне нужно его аутентифицировать по id вы пишите? Как это сделать?
Сейчас у меня аутентификация по email и pasword идет
Получается если пользователь авторизуется через Vk, а у него уже есть запись в БД через стандартную регистрацию, это я могу узнать проверив email в бд?
Если есть совпадения то привяжу его к уже созданному пользователю.
После привязки нужно сделать аутентификацию но у меня в методе attempt требуются email и пароль как здесь быть?
Ismail-1, уже подсказал — читай документацию. Всю, от начала до конца — чтобы знать, что вообще умеет фреймворк. Иначе так и будешь на ровном месте застревать.