同一个网页,通过 cookie 中的 session 授权。
正常访问时登录后正常,cookie 正常设置,f12 可以看到有值;
使用 iframe 嵌入到其他页面中时,登录后 cookie 不能正常设置,f12 中值是空的,导致未授权一致卡在登录页面。
1
gzf6 OP flask 框架,登录用的 flask_login
|
2
zythum 2021-03-16 11:50:23 +08:00
跨域 iframe 要种 cookie 现在得走 https, 并且 cookie 设置 sameSite: none 。
|
3
ch2 2021-03-16 12:44:50 +08:00
你要把一个网站用 iframe 嵌入到别的域名中,就得设置它允许被别人嵌入
|
4
chendy 2021-03-16 13:29:26 +08:00
比较新的浏览器需要 https + Secure + SameSite: None
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie/SameSite |
5
SmiteChow 2021-03-16 16:18:48 +08:00
如果我没猜错 是跨域了吧
|
7
lisianthus 2021-03-16 16:25:42 +08:00
后端返回 header 的 Set-Cookie 字段加上 SameSite=None; Secure; 并且需要 https 协议才会自动带 cookie
|
8
SmiteChow 2021-03-16 17:10:36 +08:00
2020 年 2 月份 从 Chrome v80 起 Cookie 的跨域安全策略有大改动
详细看: https://blog.chromium.org/2019/10/developers-get-ready-for-new.html |