Palych_tw
@Palych_tw
Типа веб-разработчик

Как безопасно аутентифицировать пользователей из Facebook?

Всем привет. Как правильно сделать аутентификацию пользователей через соц.сети на примере фейсбука?
Логика вроде бы простая. На бекенде это просто API сервер с JWT. Есть таблица users и есть таблица для социальных аккаунтов, c такой структурой:
5b98b659ba0e8708103489.png
где userId - это внешний ключ, а socialProviderId - это id юзера в соц.сети. Т.к. в системе и юзеры, которые входят как обычно, через логин и пароль, и юзеры логинящиеся через соц.сети, то процедура регистрации выглядит так:
ФБ возвращает такой объект из приложения логина:
{
    "name":"имя и фамилия",
    "email":"почта",
    "picture": {
        "data": {
            "height":50,
			"is_silhouette":false,
			"url":"",
			"width":50
		}
	},
	"first_name":"имя",
	"last_name":"фамилия",
	"id":"id"
}

Создаю рандомный пароль, записываю данные в обе таблицы. И получается, что единственная уникальная неизменная вещь в этом всем - это id пользователя в приложении ФБ. И только по нему можно аутентифицировать пользователя.
И вопрос, безопасно ли это? Я вижу, что id юзера в ФБ приложении не равен id пользователя на самом ФБ, но этот id-шник есть в ссылке на аватарку, и, получается, её уже нельзя использовать у себя на сайте. Какие еще есть моменты? Как вообще лучше сделать?
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект