Как организовать авторизацию через соцсеть на мобильном, когда запрос перехватывает нативное приложение соцсети?

Столкнулся с такой проблемой: когда пользователи со смартфона (по крайней мере, андроид) пытаются войти на сайт через соцсеть, переход по ссылке для входа перехватывает нативное приложение FB или VK (правда не у всех и не во всех браузерах), соцсеть подтверждает вход, но фронтенд не может обработать данные.

У меня SPA, которое общается с бекендом по рест-апи, stateless. Вход через соцсеть организован через бекенд: у пользователя открывается новое окошко, там он подтверждает вход, редиректится на мою служебную страницу, где я подтверждаю вход и отдаю в json api-key и информацию о пользователе. Фронтенд её забирает и закрывает окно.
Всё работало прекрасно, пока работало через браузер. Когда запрос перехватывает нативное приложение соцсети, то после подтверждения запроса пользователь видит мою служебную страницу, а фронтенд её не видит, потому что она открыта в приложении соцсети, а не в браузере.

Что с этим делать – не понимаю пока.
Кто сталкивался с таким? Или какие есть более грамотные способы организации входа через соцсеть?
  • Вопрос задан
  • 5474 просмотра
Пригласить эксперта
Ответы на вопрос 2
neuotq
@neuotq
full stack php, стартапы, прокрастинация
Сервис воркер - промис .
Работает сервис воркер, промис ждет и ловит событие с сервера.
Ну а так как ты говоришь что пользователь видит твою служебную страницу, значит в целом все работает.
На служебной странице показываешь сообщение "Теперь вы авторизованы и можете вернуться на сайт" и создаешь событие которые отправляешь на фронт(его там эждет запущенные промис). Ну а далее все так же как у тебя сейчас.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы