Я создаю приложение iOS, и мне нужно иметь возможность делать аутентифицированные запросы в приложение Rails 3 для различных бит данных. Приложение Rails 3 использует omniauth и URL-адреса, такие как https://myapp.com/auth/facebook, чтобы, например, аутентифицировать пользователей через facebook... и после аутентификации хранит аутентификацию в защищенном файле cookie "auth." "
Что я хочу знать, как аутентифицировать моих пользователей из приложения iOS/iPhone, сохранить токен аутентификации и отправить его вместе с будущими запросами в приложение Rails?
Использование ASIHTTPRequest Я думаю о том, чтобы сделать что-то вроде этого:
-
Откройте UIWebview, загрузив URL-адрес из моего веб-приложения, определенного для провайдера, которому они хотят пройти аутентификацию (например, myapp.com/auth/facebook для facebook или myapp.com/auth/yahoo для yahoo и т.д.....).
-
В случае успеха, каким-то образом проанализируйте и сохраните файл cookie проверки подлинности в приложении iOS, не показывая веб-страницу, которую люди обычно видят при аутентификации через веб-сайт... и вместо этого закрывают UIWebView и переходят обратно в другой UIVewController в iOS приложение.
-
Каким-то образом включите сохраняемый токен аутентификации с будущими веб-запросами в приложение Rails.
-
Я также хочу, чтобы пользователи разрешали приложению iOS локально хранить эту информацию, поэтому им не нужно повторно подключаться к удаленному приложению, если они тоже выбирают.
Этот подход подходит? Есть ли способ лучше? И, конечно, как на самом деле реализовать выше?
Спасибо - wg