RestKit – проверка подлинности

Я начал работать над доказательством концепции приложения iOS, которое мы будем развивать, которое использует веб-службы на основе REST (реализованные на Java с использованием restEASY). Я буду использовать RestKit в качестве моей клиентской библиотеки услуг и читаю документацию и некоторые примеры.

Подавляющее большинство служб потребует аутентификации пользователя с использованием имени пользователя и пароля. У нас есть службы аутентификации, которые принимают объект JSON, содержащий учетные данные, поэтому эта часть проста. Мой вопрос: как мы обрабатываем кусок iOS, когда служба говорит, что требуется аутентификация?

Представьте себе этот сценарий …

Пользователь запускает наше приложение и признает, что пользователь должен аутентифицироваться. Появится диспетчер модального представления, запрашивает пользователя для аутентификации и отправляет запрос. Затем пользователь может без проблем выполнить кучу вызовов REST. В конце концов, они выключают свой телефон (приложение все еще активно) и возвращаются к нему через час или около того позже. Они нажимают кнопку, чтобы отключить другой вызов REST, но к этому времени сеанс на стороне сервера истек.

В идеале мы хотели бы узнать, что сервер указал, что требуется аутентификация, и снова отобразить контроллер модального представления. Но поддерживает ли RestKit это? Есть ли способ зарегистрировать «глобальный обработчик ответа», который может распознать, что сервер ответил так?

Мы можем вернуть код состояния в JSON или использовать код состояния HTTP. У нас есть гибкость в наших услугах. Реальный вопрос заключается в том, как обращаться с этим в идеальном виде на клиенте. И, как только мы повторно аутентифицировали пользователя, есть ли способ воспроизвести запрос, который они изначально пытались отправить? Или, они должны снова начать действие?

Извините, если это не имеет смысла или это очень простая проблема для решения. Поскольку я только начал работать с RestKit, я хотел убедиться, что я делаю это правильно, чтобы избежать будущих проблем. Любые советы, примеры кода, учебники и т. Д., Которые вы можете предоставить, были бы высоко оценены.

Я предлагаю вам сделать запрос на сервер в приложении AppDelegate - (void)applicationDidBecomeActive:(UIApplication *)application или - (void)applicationWillEnterForeground:(UIApplication *)application который отправляет старый токен аутентификации. Затем сервер может предоставить ответ, если токен действителен или недействителен. Если ваш AppDelegate принимает протокол RKObjectLoaderDelegate, он может обрабатывать ответ. Таким образом, всякий раз, когда приложение становится активным, пользователю предлагается повторно аутентифицировать, если необходимо.

  • Добавление двух дескрипторов запроса для данного класса в Restkit 0.2
  • Использование необъявленного идентификатора «RKClient» после установки RestKit
  • Игнорировать ответ при выполнении postObject в RestKit для iOS
  • Отображение логического свойства из JSON в NSManagedObject с помощью RestKit
  • Несколько RKObjectManager за раз (RestKit)
  • Целевая целостность. Файл «Pods-ios.xcconfig» не может быть открыт, потому что его путь не может быть разрешен. Возможно, он отсутствует "
  • RestKit делает UI невосприимчивым
  • Restkit + Objective-c - Несколько вызовов на тот же веб-сервис
  • RestKit: как определить дополнительные (вложенные) ключевые пути
  • Отображение вложенного массива Restkit с помощью Forsquare
  • RestKit 0.2 Подключение к недействительному сертификату безопасности HTTPS
  • Interesting Posts

    Представление экрана действий UIAlertController в Popover на iPhone

    Что такое UITableViewCell setIndexBarWidth

    Отключить сообщения об ошибках MagicalRecord и предупреждения

    Как отлаживать утечки памяти, когда инструмент Leaks не показывает их?

    Как отсортировать NSArray строк в формате даты @ «Aug 2013» в порядке возрастания.?

    Что такое обозначение Big-O для итерации через NSSet и NSDictionary

    IOS Как записывать midi-файл с обратным вызовом Midi?

    Приложение iOS падает на процесс утверждения Apple, но не для меня

    Один шаг аффинного преобразования для вращения вокруг точки?

    Facebook дает предупреждение о безопасности. Пожалуйста, обработайте URL-адрес выше, как и ваш пароль, и не сообщайте его ни с кем

    Приложение iOS перестает отвечать на запросы, когда html отображается в UIWebView

    Вкладки изображений TabBar не переносятся в AdHoc Build

    Сохранить файл в общедоступном каталоге в iOS, используя кордову

    Версия для iOS App Release и версии Dev на одном телефоне

    Как создать оповещение в классе subview в Swift?

    Давайте будем гением компьютера.