Ответ 1
Я нашел решение, которое использует стандартный интерфейс UIWebView для обработки аутентификации. Поскольку файлы cookie совместно используются в приложении, успешная аутентификация с UIWebView (которая хранит сеанс или файл cookie проверки подлинности) переносится на другие запросы.
У меня нет формальной структуры, но она работает следующим образом: я выдаю запрос REST. Если запрос возвращает строку JSON, я уже аутентифицирован, и все хорошо. Если запрос возвращает перенаправление (т.е. 301), то сайт пытается перенаправить для аутентификации. Здесь я останавливаю перенаправление и представляю модальный UIWebView со страницей входа. Пользователь может войти в систему с помощью своего OpenID, а после аутентификации пользователя перенаправляется на заданный URL-адрес успеха.
Метод делегата UIWebView -(void)webViewDidFinishLoad:(UIWebView *)webView
проверяет каждый URL после его загрузки и отклоняет модальный код, как только он видит, что URL-адрес успеха был запрошен.
В основном, как я это сделал, и, похоже, он работает.