gpt4 book ai didi

macos - OS X 中每个 WebView 都有单独的 cookie jar

转载 作者:行者123 更新时间:2023-12-03 16:00:16 24 4
gpt4 key购买 nike

我一直在努力实现在 macOS 中为每个 WebView 拥有一个唯一(非共享)cookie jar 的目标(iOS 的 cookie 管理工作方式不同)。

阅读了大量 StackOverflow 问题并深入研究文档后,我在这些文章中找到了最接近我的问题的解决方案:

我已经使用它们设置了一个示例应用程序:https://github.com/jjconti/swift-webview-isolated

基本思想是实现 WebResourceLoadDelegate 和 WebPolicyDelegate 协议(protocol)中的必要方法,并使用 BSHTTPCookieStorage 来存储和检索 cookie。此外,我的示例应用程序允许保存 cookieStorage 对象,以便可以在将来的执行中重新加载。

不幸的是,该应用程序无法在每个网站上正常运行(文章的作者针对的是一个特定的网站)。例如 Gmail 和 NewRelic,您在登录后(或执行某些操作后)会立即注销。这让我怀疑 cookie 存储实现中存在一个我尚未找到的错误。

有人可以告诉我我是否遗漏了什么吗?

最佳答案

问题是没有JS级别的cookie隔离。 document.cookie 仍然指向共享 cookie jar。要实现真正的 cookie 隔离的 webview,您必须重写 document 的 cookie 属性。

您可以尝试我的实现: http://cyyuen.github.io/ADCookieIsolatedWebView

它适用于使用 document.cookie 来获取 cookie 的网站,例如 Dropbox.com。但是,setter 并未实现。

关于macos - OS X 中每个 WebView 都有单独的 cookie jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com