我正在使用 cookie 来检查用户是否已登录(使用 Devise)。当应用程序嵌入到 iframe 中(在 http://lifeelevated.life/players/ 上)并且我从 iPhone 6s 访问该页面时,浏览器没有列出任何 cookie,服务器无法确定谁登录了。
Best Answer-推荐答案 strong>
我确定 Safari 遇到了这个问题,而不仅仅是 iPhone。由于我亲自访问了托管 iframe 的网站,因此在我的 macOS 浏览器上使用了这些 cookie。
我通过实现一种技术来解决这个问题,该技术检查 cookie,然后为从未有过 cookie 的客户端执行重定向。
https://github.com/vitr/safari-cookie-in-iframe
澄清一下,当用户访问站点 T 时,我们会检查站点 I 的 cookie。如果没有 cookie,我们会将他们重定向到 I 上的页面,该页面只是将他们重定向回 T。然后,他们能够使用来自 I 的 iframe 加载 T,并在加载该 iframe 时,将它们的 cookie 发送给 I,以确保一致的体验。
关于ios - 当 iframe 嵌入另一个站点时,cookie 在 iPhone 上是否有效?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43722224/
|