Добрый день.
Необходимо реализовать авторизацию через соц.сети в мобильных приложениях, разрабатываемых на Swift и Kotlin.
Приложения используют БД сайта, написанном на 1C-Bitrix, через API, написанный для этих приложений.
Авторизация на сайте реализована через модуль битрикса delaweb.ulogin (компонент ulogin.auth).
Интересует техническая схема взаимодействия приложения для авторизации через соц.сети, идеи следующие:
1) встроить браузер в приложение, собрать отдельную страницу с виджетом на сайте, по клику на кнопку авторизации (например вк) открывается стандартная страница запроса доступов к профилю (ulogin редиректит на неё с этого url):
https://ulogin.ru/auth.php?name=vkontakte&window=1...
В постобработчике (redirect_uri) каким-то образом разделить запрос от сайта и от приложения (?), выдать токен пользователя для дальнейшего использования в приложении и т.д.
2) использовать функционал самого приложения (в ранних версиях android/ios реализованы специальные модули для работы с ulogin, адаптировать их под swift/kotlin) - в этом случае вероятно потребуется аналогичная п.1 обработка redirect_uri.
3) Ваш вариант.
Какой из вариантов наименее трудозатратный?
P.S. Отказ от ulogin, реализация нативной авторизацию/регистрацию/слияние профилей для данного вопроса довольно бесполезны, т.к. функционал по сути идентичный, ведущий к обработчику redirect_uri.
P.S.S. Вопросы ИБ, поднимаемые ранее на этом ресурсе в ответах решаемы через отказ от CDN ulogin путем переноса скрипта на сервер сайта, просьба не упоминать их в ответах.