Jua*_*nti 60 cookies macos cocoa webview
我一直在努力实现在macOS中每个WebView拥有一个独特(不共享)cookie jar的目标(Cookie管理在iOS中的工作方式不同).
在阅读了大量StackOverflow问题并深入研究文档后,我在这些文章中找到了最接近我问题的解决方案:
我已经使用它们设置了一个示例应用程序:https://github.com/jjconti/swift-webview-isolated
基本思想是从WebResourceLoadDelegate和WebPolicyDelegate协议实现必要的方法,并使用BSHTTPCookieStorage存储和检索cookie.此外,我的示例应用程序允许保存cookieStorage对象,以便在将来的执行中重新加载它.
不幸的是,该应用程序在每个网站都无法正常工作(文章的作者针对的是某个特定的网站).例如Gmail和NewRelic,您在登录后(或执行某些操作后)立即注销.这让我怀疑cookie存储实现中的一个错误,我还没有找到.
有人能告诉我是否有什么东西我不见了?
小智 1
问题是没有 JS 级别的 cookie 隔离。document.cookie 仍然指向共享 cookie jar。要实现真正的 cookie 隔离的 webview,您必须覆盖 document 的 cookie 属性。
您可以尝试我的实现: http: //cyyuen.github.io/ADCookieIsolatedWebView
它适用于使用 document.cookie 获取 cookie 的网站,例如 Dropbox.com。但是,setter 并未实现。
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |