如何清除在 macOS 上的应用程序中使用的 wxWEBVIEW_WEBKIT 的已保存 cookie?
How do I clear saved cookies of wxWEBVIEW_WEBKIT used in an app on macOS?
我正在开发基于 wxWidgets 的跨平台应用程序,该应用程序使用 WebView 进行基于 Web 的 OAuth 登录网站。该网站的 OAuth 登录过程使用 cookie 来缓存经过身份验证的登录令牌,以便您可以在必要时再次执行该过程以获取另一个 OAuth 令牌,而无需用户再次输入其凭据。我在应用程序的 macOS 版本中使用的 WebView 后端实现 wxWEBVIEW_WEBKIT
在我的应用程序重新启动甚至 OS 重新启动之间保留 cookie。这使得难以测试登录过程。
WebView 后端在哪里保存这些 cookie?我将如何清除它们?
我已经尝试清除 Safari 中的 cookie,但无济于事,我删除了我在 opensnoop
捕获的应用程序文件访问中看到的所有明显缓存文件,但缓存的登录信息仍然存在目前。
每 a response on the wx-users list, wxWEBVIEW_WEBKIT
is implemented using a simple macOS WebView
.
如 How can I remove cookies stored by WebView in Cocoa application? 所述,在 macOS 10.11 (El Capitan) 及更高版本中,每个应用程序的 WebView 都有自己的 cookie 存储,并且无法访问彼此的 cookie。
我没有找到手动清除应用程序 cookie 的方法;我尝试从 ~/Library/Cookies
中删除相关的 *.binarycookies
文件,但没有效果。我仍然不清楚 cookie 存储在哪里。
但是我能够使用 NSHTTPCookieStorage
API, following the code snippet in 以编程方式删除 cookie。我最终只是为此向我的应用程序添加了一个菜单项,以清除我仅用于手动测试目的的 cookie。
我正在开发基于 wxWidgets 的跨平台应用程序,该应用程序使用 WebView 进行基于 Web 的 OAuth 登录网站。该网站的 OAuth 登录过程使用 cookie 来缓存经过身份验证的登录令牌,以便您可以在必要时再次执行该过程以获取另一个 OAuth 令牌,而无需用户再次输入其凭据。我在应用程序的 macOS 版本中使用的 WebView 后端实现 wxWEBVIEW_WEBKIT
在我的应用程序重新启动甚至 OS 重新启动之间保留 cookie。这使得难以测试登录过程。
WebView 后端在哪里保存这些 cookie?我将如何清除它们?
我已经尝试清除 Safari 中的 cookie,但无济于事,我删除了我在 opensnoop
捕获的应用程序文件访问中看到的所有明显缓存文件,但缓存的登录信息仍然存在目前。
每 a response on the wx-users list, wxWEBVIEW_WEBKIT
is implemented using a simple macOS WebView
.
如 How can I remove cookies stored by WebView in Cocoa application? 所述,在 macOS 10.11 (El Capitan) 及更高版本中,每个应用程序的 WebView 都有自己的 cookie 存储,并且无法访问彼此的 cookie。
我没有找到手动清除应用程序 cookie 的方法;我尝试从 ~/Library/Cookies
中删除相关的 *.binarycookies
文件,但没有效果。我仍然不清楚 cookie 存储在哪里。
但是我能够使用 NSHTTPCookieStorage
API, following the code snippet in 以编程方式删除 cookie。我最终只是为此向我的应用程序添加了一个菜单项,以清除我仅用于手动测试目的的 cookie。