Есть сайт, делаю мобильное приложение на phonegap. Из-за абилия функционала возникало множество проблем с авторизацией. Например, авторизация через социальные сети и сторонние сайты, которая привязана к домену сайта - это боль .
В общем решил все следующим образом:
В моем приложении я открываю мой сайт и с него прохожу авторизацию через соц сети. Соц сеть перекидывает пользователя обратно на мой сайт, где я на странице генерирую токен, сохраняю его в БД и отдаю приложению. Приложение этот токен сохраняет в локалстораж и шлёт при каждом обращении к серверу, который находит этот токен в БД и отдают нужные данные.
То есть авторизация у меня дополнительная не появилась, она как была через серверную часть сайта, так и осталась.
Есть ли какие-то подводные камни у такого подхода?
Скажите, мне, пожалуйста, что авторизация - это боль не только для меня) Куча сервисов, у каждого авторизация происходит по-разному, для разных типов авторизации - разные права. Например, у фб при авторизации через джаваскрипт невозможно получить некоторую информацию, которую можно получить при серверной авторизации.
Как вы с этим справляетесь? Тоже мучаетесь?
WebDev, авторизация через сторонние сервисы в большинстве случаев нужна лишь для идентификации пользователя. Все от проекта зависит, на крупных проектах проводится исследование рынка, в котором определяется необходимость наличия того или иного функционала. На мелких проектах, если это не личный проект, сидишь и делаешь как написано в ТЗ. На мелких личных проектах делаешь авторизацию через сторонние сервисы лишь в том случае, если этот проект так или иначе взаимодействует с конкретным сервисом.
А так, по большому счету, все уже давно сделано за нас в том или ином виде.