当 iframe 嵌入另一个站点时,cookie 是否在 iPhone 上工作?
Do cookies work on iPhone when an iframe is embedded in another site?
我正在使用 cookie 检查用户是否登录(使用 Devise)。当应用程序嵌入到 iframe 中(在 http://lifeelevated.life/players/ 上),并且我从我的 iPhone 6s 访问该页面时,浏览器不会列出任何 cookie,并且服务器无法确定谁是已登录。
我确定这个问题是 Safari 遇到的,而不仅仅是 iPhone。这些 cookie 在我的 macOS 浏览器上使用,因为我亲自访问了托管 iframe 的站点。
我通过实施一种检查 cookie 然后为从未有过 cookie 的客户端执行重定向的技术解决了这个问题。
https://github.com/vitr/safari-cookie-in-iframe
澄清一下,当用户访问站点 T 时,我们会检查站点 I 的 cookie。如果没有 cookie,我们会将他们重定向到 I 上的一个页面,该页面会将他们重定向回 T。然后,他们能够使用来自 I 的 iframe 加载 T,并且在加载该 iframe 时,他们的 cookie 会发送给 I,以确保一致的体验。
我正在使用 cookie 检查用户是否登录(使用 Devise)。当应用程序嵌入到 iframe 中(在 http://lifeelevated.life/players/ 上),并且我从我的 iPhone 6s 访问该页面时,浏览器不会列出任何 cookie,并且服务器无法确定谁是已登录。
我确定这个问题是 Safari 遇到的,而不仅仅是 iPhone。这些 cookie 在我的 macOS 浏览器上使用,因为我亲自访问了托管 iframe 的站点。
我通过实施一种检查 cookie 然后为从未有过 cookie 的客户端执行重定向的技术解决了这个问题。
https://github.com/vitr/safari-cookie-in-iframe
澄清一下,当用户访问站点 T 时,我们会检查站点 I 的 cookie。如果没有 cookie,我们会将他们重定向到 I 上的一个页面,该页面会将他们重定向回 T。然后,他们能够使用来自 I 的 iframe 加载 T,并且在加载该 iframe 时,他们的 cookie 会发送给 I,以确保一致的体验。