【发布时间】:2022-08-08 22:33:12
【问题描述】:
我有一个使用 cookie 进行会话管理的服务器端应用程序。浏览器有一些脚本发送 ajax 请求以向会话添加信息。这在生产中运行良好。
企业希望能够通过 iframe 将这个应用程序插入到其他公司的网站中。即 myapp.com 位于 otherbusiness.com 的 iframe 中,当用户单击从 myapp.com 启动的 iframe 中的应用程序中的按钮时,它会发送包含会话 ID 的 cookie 的请求以更新用户的myapp.com 服务器上的会话。
为了使浏览器能够发送 cookie,需要通过设置 SameSite=None 和 Secure 的 cookie 选项来启用第 3 方 cookie。这适用于除 Safari 之外的所有浏览器。
Safari 不再接受 3rd 方 cookie。
我能想出的唯一解决方案是在 URL 中使用会话 ID,但这有点麻烦。
任何人都可以建议一个更好的选择,或者在 url 中更好地实现会话 id 吗?
标签: cookies iframe safari session-cookies samesite