同一个网页,通过 cookie 中的 session 授权。
正常访问时登录后正常,cook抗投诉服务器ie 正常设置,f12 可以看到有值;
使用 iframe 嵌入到其他页面中时,登录后 cookie 不能正常设置,f12 中值是空的,导致未授权一致卡在登录页面。
flask 框架,登录用的 flask_login
跨域 iframe 要种 cookie 现在得走 https, 并且 cookie 设置 sameSite: none 。
你要把一个网站用 iframe 嵌入到别的域名中,就得设置它允许被别人嵌入
比较新的浏览器需要 https + Secure + SameSite: None
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie/SameSite
如果我没猜错 是跨域了吧
对的,跨域了
后端返回 header 的 Set-Cookie 字段加上 SameSite=None; Secure; 并且需要 https 协议才会自动带 cookie
2020 年 2 月份 从 Chrome v80 起 Cookie 的跨域安全策略有大改动
详细看: https://blog.chromium.org/2019/10/developers-get-ready-for-new.html