升级到Chrome版本80.0.3987.132后,不会向iframe请求发送cookie。在“网络”选项卡(Chrome开发工具)上,我没有看到针对我的请求的Cookie。
在打开选项"显示筛选出的请求cookie"后,我看到我的cookie被标记为**"由于用户偏好,此cookie未发送"**。
Cookie集的标头:
set-cookie: token=jf23HaUI91Bd8L1chHq; expires=Wed, 18-Mar-2020 16:01:59 GMT; Max-Age=1799; path=/; SameSite=None; secure; domain=.example-domain.com; HttpOnly
当我在同一个域上打开iframe时,一切都很正常,但如果它是通过http或https的第三方域,cookie将无法工作。
有没有人遇到过这个问题,或者知道如何解决这个问题?
5条答案
按热度按时间pkbketx91#
我认为您应该确保这些cookie的SameSite标志始终设置为None。如果它最初设置为Lax,然后您尝试将其设置为None,则可能无法工作。
此外,您还应确保SameSite=None Cookie的安全标志始终设置为true。
8ljdwjyq2#
如果你使用iframe和https,sanbox你的iframe让cookie工作:
不确定你还需要什么。
你也你或不需要你的服务在iframe设置cookie与额外的参数
mzmfm0qo3#
它为我工作,通过PHP设置cookie;这是一个针对php < 7.3(!)
session_set_cookie_params(3600*24,'/; SameSite= None',$_SERVER['HTTP_HOST'],true);
(secure = true很重要)
yshpjwxd4#
如果在IIS中托管,您可以在web.config中添加以下配置,以避免通过浏览器添加
SameSite=Lex
ezykj2lf5#
取消选择
chrome://settings/content/cookies
上的阻止第三方Cookie