我们使用来自5个网站(例如site1.com,site2.com,site3.com,site4.com,site5.com)的服务(例如:user-service.com)。
Service.com是一个微服务,它存储一些用户数据(例如,评论,评论,个人资料等)。
一个Cookie(仅HttpOnly和安全的)已存储在域.user-service.com上
此cookie用作会话ID。 从网站(site1.com,...),我们向user-service.com发出一些XHR请求。要转发会话ID,我们使用withCredential XHR选项。
在safari 12之外的所有浏览器上都可以正常工作。当用户浏览4个以上的网站时,cookie仍在.user-service.com上设置,但是即使指定了withCredential XHR选项,该cookie也不会被浏览器转发
问题似乎来自ITP2。 比我们发现的解决方案要好:
使用存储访问API:但是UX非常糟糕
将user-service.com域的别名设置为user-service.site1.com,user-service.site2.com,...,并在所有域登录后设置cookie:但是如果存在,该怎么办? 100个网站域?
不要将会话ID设置为HttpOnly并在标头请求中手动转发:此解决方案引入了CSRF漏洞
如果您有相同的问题,其他任何信息或解决方案,我将很乐意阅读。