我有一个网站a.com,有第三方应用程序指向apps.b.com。当我登录到a.com时,我也会在后台使用相同的凭据对apps.b.com进行身份验证。这是为了使用户不必登录即可访问apps.b.com。我知道浏览器在向apps.b.com发出请求时会将所有cookies发送给它。这就是它现在的工作方式。阅读关于SameSite属性的文章https://web.dev/samesite-cookies-explained/,它看起来apps.b.com是第三方站点。现在,我是必须在a.com上配置web服务器才能将cookie设置为SameSite=none;Secure,还是必须在apps.b.com上的web服务器上设置SameSite=none;Secure?
发布于 2020-01-13 20:23:20
任何时候,当您发出需要cookies的跨站点请求时,这些cookies都需要标记为SameSite=None; Secure。
因此,例如,如果用户在a.com上,并且您有一个需要cookies的<iframe>或fetch() to apps.b.com,那么apps.b.com cookies就需要SameSite=None; Secure。
反之亦然,如果用户在apps.b.com上,而您正在请求a.com依靠a.com cookie检查其身份验证状态,则这些cookie需要SameSite=None; Secure。
基本上,您要寻找的模式是当浏览器地址栏中的站点与需要cookies的站点不同时,这些就是需要标记的cookies。因此,根据您的设置,它可能是其中之一,也可能两者都是。
https://stackoverflow.com/questions/59709243
复制相似问题