我注意到了这条消息
Chrome 会阻止您访问的网站上的所有第三方 Cookie,包括 相关网站。使用您的浏览流量发送“请勿跟踪”请求: 当您打开此功能时,您请求网站不要跟踪您。
这对我的系统在实践中意味着什么?我有三个应用程序:
Java EE 中的整体 Web 应用程序,UI 代码使用GWT。
也是 Angular 应用程序。
Spring Boot 中的 REST API 服务。
以上所有应用都部署在同一个kubernetes集群中。
GWT UI 通过
iFrame
加载 Angular 应用程序:
<iframe id="angular-app-id" src=<angular-app-url> .../>
GWT 和 Angular 前端都需要与 REST API(Spring Boot)应用程序进行通信。
在运行时,一旦用户通过 REST API 应用程序登录,应用程序就会向前端(GWT 和 Angular)响应会话 cookie(标记为
Secure; HttpOnly
),来自前端的所有后续请求都应包含此会话 cookie,如果我没记错的话,这是浏览器的行为。
所以,我的问题:
Chrome 会阻止我系统中的这种安全会话 cookie 机制吗?
如果 Angular 应用程序和 GWT 应用程序部署在 DNS 的不同子域中,Chrome 会阻止我的 cookie 使用吗?
不,不可能
解决方法:
使用包含会话 ID 的加密查询字符串快速重定向到其他站点。
登录时使用ajax对每个网站使用cookie进行API调用(甚至只是调用网站的页面),并且该网站可以返回自己的cookie