Поток OAuth, iPhone -> Rails -> Facebook

Я создаю приложение с веб-клиентом и клиентом для iPhone.

В веб-клиенте я аутентифицирую пользователей через Facebook с помощью Omniauth, после чего пользователь может публиковать действия в приложении на Facebook. Это работает хорошо.

У меня возникла проблема с реализацией потока аутентификации из приложения iPhone.

Я настроил Doorkeeper в приложении rails в качестве провайдера OAuth. Хотя я не уверен, как должен быть реализован поток аутентификации.

Я придумал это: Пользователь может войти в Facebook на iPhone и получить токен. Затем идея состоит в том, чтобы отправить токен вместе с uid Facebook в приложение rails, сохранить его и аутентифицировать пользователя с помощью Omniauth. После аутентификации пользователя сгенерируйте токен с помощью Doorkeeper и отправьте его обратно в приложение для iPhone.

Если пользователь впервые проходит аутентификацию в приложении rails, будет создан новый пользователь.

Затем пользователь может выполнять действия с JSON-api, а приложение rails позаботится об интеграции с Facebook, поскольку токен Facebook хранится в записи пользователя.

Приложение также будет охватывать несколько доменов, поэтому мне потребуется зарегистрировать несколько приложений привратника, чтобы предоставлять разные uri обратного вызова.

Похоже ли это на жизнеспособное решение? Это безопасно? Есть ли альтернативные потоки/подходы?

Спасибо.

12
задан Yeggeps 6 March 2012 в 15:46
поделиться