Я создаю приложение как с веб-клиентом, так и с клиентом iPhone.
На веб-клиенте я аутентифицирую пользователей через Facebook с помощью Omniauth, затем пользователь может публиковать действия в приложении в Facebook. Это работает хорошо.
У меня возникла проблема с реализацией потока Auth из приложения iPhone.
Я установил Doorkeeper в приложении rails как поставщик OAuth. Хотя я не уверен, как должен реализоваться поток аутентификации.
Я придумал это: Пользователь может войти в Facebook на iPhone и получить токен. Идея заключается в том, чтобы отправить токен вместе с Facebook-uid для приложения rails, сохранить его и аутентифицировать пользователя с помощью Omniauth. После аутентификации пользователя создайте токен с Doorkeeper и отправьте его обратно в приложение iPhone.
Если это первый раз, когда пользователь аутентифицируется против приложения rails, будет создан новый пользователь.
Затем пользователь может выполнить действия против JSON-api, а приложение rails позаботится об интеграции с Facebook, поскольку токен Facebook будет сохранен в записи пользователя.
Приложение также будет охватывать несколько доменов, поэтому мне нужно будет зарегистрировать несколько приложений для Doorkeeper, чтобы обеспечить различные обратные вызовы uri.
Это похоже на жизнеспособное решение? Это безопасно? Существуют ли альтернативные потоки/подходы?
Спасибо.