2016-03-29 4 views
4

Я разрабатываю приложение, которое регистрируется на веб-сайте HTTPS. После аутентификации веб-сайт отправляет окончательный файл cookie, который помечен как «Безопасный».В фоновом режиме NSURLSession почему безопасные файлы cookie потеряны?

Приложение работает, когда я использую defaultSessionConfiguration() для NSURLSession().

Когда я изменяю одну строку в приложении, чтобы использовать backgroundSessionConfigurationWithIdentifier(), я не могу пройти стадию аутентификации. Я получаю веб-страницу, показывающую, что я аутентифицирован, но последующие запросы возвращают страницу входа.

Похоже, что «аутентификация успешных файлов cookie» отсутствует в общем хранилище файлов cookie.

Этот файл cookie является единственным файлом cookie, который веб-сайт обозначает как «безопасный». Обратите внимание, что этот HTTPS-сайт выполняет все транзакции через HTTPS.

TL; DR Что делает фоновый сеанс NSURLSession иначе, чем сеанс по умолчанию, чтобы потерять защищенный файл cookie?

EDIT: Я сделал еще несколько работ.

NSURLSession Когда перенаправляет с помощью backgroundSessionConfiguration он кажется игнорировать куки, которые были отправлены в заголовке редиректа? (Я думаю, что cookie, являющийся «безопасным», может не иметь решающего значения.)

Редирект работает правильно, если указан defaultSessionConfiguration.

+0

конфигурация сеанса по умолчанию использует постоянный кэш диска на основе (кроме случаев, когда результат будет загружен в файл) и ** хранит учетные данные в брелка пользователя. ** – Vin

+0

К сожалению. Я должен был упомянуть, что это приложение ** iOS **. Поэтому файлы cookie сохраняются в sharedStorage только для приложения. – andymc

ответ

0

Оказывается, это известная ошибка. Apple r. 16852027.

Известно, что backgroundSession игнорирует новые файлы cookie для перенаправления. Решение состоит в том, чтобы использовать defaultSession для получения файлов cookie, а затем продолжить использование backgroundSession.

См Apple Developer Forum post

 Смежные вопросы

  • Нет связанных вопросов^_^