我管理一个 Electron 应用程序,其中授权由我的服务器上的 JWT cookie 集提供,并且最近注意到
Reading cookie in cross-site context will be blocked in future Chrome versions.
这个解释很有道理:
Cookies with the SameSite=None; Secure and not Partitioned attributes that operate in cross-site contexts are third-party cookies. In future Chrome versions, reading third-party cookies will be blocked. This behavior protects user data from cross-site tracking.
,Google 提供了以下文章以获取更多信息:https://developers.google.com/privacy-sandbox/3pcd,但是它没有提及在 Chromium/Electron 中使用 cookie。
唯一使用的 cookie 是由我的后端服务器设置的。如果我的代码是一个网页,那就没问题,但是因为 Chromium 运行在我的 Electron 应用程序中,所以所有的 Cookes 都是跨站点吗?
在不久的将来我们应该考虑采取什么策略来处理这个问题?
提前感谢 Stack Overflow 社区。
原生应用不使用cookie来调用API。 它们使用访问令牌并遵循 RFC 8252 中的最佳实践。您需要设计允许桌面应用程序接收和发送令牌的后端入口点。
桌面应用程序中 Chromium 浏览器中的 Cookie 将始终被视为第三方。随后可能会应用 RFC6265bis 文档 中的行为:
该规范允许某些第三方 cookie 豁免。例如,当整个窗口以用户可见的方式重定向时,浏览器可以向身份验证系统发送
SameSite=none
cookie。但这不包括 API 请求。
我无法就谷歌的具体行为给你一个明确的答案。不过它可能会遵循规范。