升级到 Chrome版本80.0.3987.132 后,cookie不会发送到iframe请求。在“网络”标签(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。
有人遇到或知道如何解决此问题吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为您应该确保这些 cookie 的 SameSite 标志始终设置为 None。如果它最初设置为 Lax,然后您尝试将其设置为 None,则它可能不起作用。
此外,您应该确保 SameSite=None cookie 的 Secure 标志始终设置为 true。
答案 2 :(得分:-2)
它对我有用,通过PHP设置cookie; 这是php <7.3(!)
的HACKsession_set_cookie_params(3600 * 24,'/; SameSite = None',$ _SERVER ['HTTP_HOST'],true);
(安全= true很重要)
答案 3 :(得分:-2)
如果是在IIS中托管,则可以在web.config中添加以下配置,以避免浏览器添加SameSite=Lex
<sessionState mode="InProc" **cookieless="UseCookies" cookieSameSite="None"** timeout="20"/>