Server side авторизация через социальные сети в мобильном приложении react native, какое flow применить?
День добрый!
На просторах интернета нашел такое flow:
1. Приложение открывает диалог авторизации внутри приложения через in app browser (используя implicit)
2. Авторизуется, получает токен
3. Отправляет этот токен на сервер и сохраняет его.
Но мне кажется этот вариант небезопасным.
Мне кажется flow, которое у меня в голове будет надежднее.
Использует метод авторизации с промежуточным шагом где получаем код.
1. Приложение открывает диалог
2. Получаем код
3. Отправляем этот код на сервер (чтобы получить из него access_token необходимо иметь секретный ключ, по фактку с этим кодом без него ничего не сделать)
4. На сервере с помощью кода и секретного ключа запрашиваем уже access_token
Как думаете почему в интернете только первый вариант, почему мой вариант может е подходить?
Потому как у сервера помимо вашего токена есть еще APP_ID и CLIENT_SECRET которые он использует для доступа к API. И даже если кто-то сможет перехватить ваш токен, он не сможет достучаться до API не имея этих кредов.