Подтвердить что ты не робот

Отдельный кувшин cookie для WebView в OS X

Я пытался достичь цели создания уникального (не общего) кука файла cookie для WebView в Mac OS X (управление файлами cookie отличается для iOS).

После прочтения большого количества вопросов StackOverflow и копания документов я нашел самое близкое решение моей проблемы в этих статьях:

Я установил пример приложения, используя их: https://github.com/jjconti/swift-webview-isolated

Основная идея - реализовать необходимые методы из протоколов WebResourceLoadDelegate и WebPolicyDelegate и использовать BSHTTPCookieStorage для хранения и извлечения файлов cookie. Кроме того, мое приложение-пример позволяет сохранить объект cookieStorage, чтобы его можно было перезагрузить в будущих исполнениях.

К сожалению, приложение не работает нормально на каждом веб-сайте (автор статей ориентировался на один конкретный веб-сайт). Например, Gmail и NewRelic вы сразу же выходите из системы после входа в систему (или после выполнения некоторых действий). Это заставляет меня подозревать ошибку в реализации хранилища файлов cookie, которую я еще не смог найти.

Может ли кто-нибудь указать мне, если что-то не хватает?

4b9b3361

Ответ 1

Проблема заключается в отсутствии изоляции cookie в JS-уровне. document.cookie все еще указывает на общую банку cookie. Чтобы реализовать настоящий изолированный веб-просмотр cookie, вы должны переопределить свойство cookie документа.

Вы можете попробовать выполнить мою реализацию: http://cyyuen.github.io/ADCookieIsolatedWebView

Он работает на сайте, используя document.cookie, чтобы получить файл cookie, такой как Dropbox.com. Однако сеттер не реализован.