在 CefSharp V86 中禁用 SameSite Cookie 策略

Disable SameSite Cookie policy in CefSharp V86

我使用的是 CefSharp 版本 86.0.24,它在内部使用 chromium 版本 86。

启动 V80 chromium 已实施同站点 cookie 策略,因此使用 V80 及更高版本会阻止没有相同站点和安全属性的第三方 cookie。

在使用 chromium V88 的独立 chrome 浏览器中,由于此标志 legacysamesitecookiebehaviorenabled 是在企业级别设置的,因此仍未强制执行。

是否有一些标志或方法可以在 CEF sharp 中抑制此设置,因为它已经破坏了我们的应用程序?

任何帮助或引导将不胜感激。

根据本站测试(https://samesite-sandbox.glitch.me/),默认运行最新版Cefsharp时,结果为:

理论上这是最安全的做法。但是,如果它是关于您的应用程序的状态并且它需要处理 cookie 的最古老的方式,那么在您在 Cefsharp 论坛上提出的问题中,他们建议禁用 SameSiteByDefaultCookies 功能。这可以通过浏览器初始化中的 CefSettings 对象轻松完成:

CefSettings settings = new CefSettings();

// Append the name of the feature that we want to disable
// This should help with the problem that you have
settings.CefCommandLineArgs["disable-features"] += ",SameSiteByDefaultCookies";

// Rest of your code ....
Cef.Initialize(settings);

// Create a browser component
ChromiumWebBrowser chromeBrowser = new ChromiumWebBrowser("https://samesite-sandbox.glitch.me/");

初始化后,如果您使用提到的工具,结果会有所不同,因为现在设置了跨站点 cookie:

一次更新: 尽管我们能够禁止新的同站点 cookie 政策。但此设置将从 Chromium V93 开始删除。

请参阅以下有关 chromium 发行说明的说明: https://support.google.com/chrome/a/answer/7679408#88&zippy=%2Cchrome

============================================= =============================

Chrome 93 将删除 LegacySameSiteCookieBehaviorEnabled

引入同站点 cookie 行为后,Chrome 包含了一些政策,让管理员有更多时间来调整任何依赖旧 cookie 行为的企业应用程序的实施。 第一阶段过渡计划将在Chrome93结束,LegacySameSiteCookieBehaviorEnabled将不再生效。在 2022 年 12 月 31 日之前,您仍然可以使用 LegacySameSiteCookieBehaviorEnabledForDomainList 选择特定网站进入旧版 cookie 行为。

============================================= ==============================

最好解决这个问题,而不是添加这个将来会被删除的标志。