【问题标题】:Making an iframe inherit cookies from the parent in Safari使 iframe 从 Safari 中的父级继承 cookie
【发布时间】:2020-05-04 02:50:03
【问题描述】:

我的网络应用程序扩展了 Google 表单的功能,将其加载为 iframe,并在 iframe 之外执行其他操作。如果 Google 表单需要身份验证,Google 会在 iframe 中显示“登录”框。当用户单击按钮时,会打开一个新选项卡,并将用户重定向到新选项卡中的表单。

如果用户离开我的网络应用程序,那么额外的功能显然将不起作用。所以,我正在寻找的是:在我的网络应用中以iframe 的形式加载经过身份验证的 Google 表单

  1. 我可以让用户首先在我的 Web 应用上通过 Google 登录 (OAuth) 登录,然后加载 iframe。在 Chrome 和 Firefox 上,iframe 会自动以登录会话开始。这很棒!但是,此解决方案不适用于 Safari。这和Safari blocking third-party cookies有关吗?

  2. 如果我希望此功能在 Safari(和其他此类浏览器)中工作,我将如何去做?我必须使用Storage Access API 吗?如果是,您能大致告诉我该怎么做吗?

  3. 现在,如果用户想使用我的网络应用程序,我可以要求他们下载 Firefox/Chrome。无论如何,我的大多数用户都是 Chrome 用户。但是,实施这些隐私措施是否也是其他浏览器路线图的一部分?如果是,我不妨尝试构建一个可以在一两年内奏效的解决方案。

【问题讨论】:

    标签: javascript cookies iframe safari


    【解决方案1】:
    1. 我希望如此。
    2. 这需要在 iFrame 中进行,因此 Google 而不是您需要实现它。
    3. 是的,但要等到2022,所以我希望到那时谷歌表单会支持这一点。

    【讨论】:

    • 2.好的,所以,iframe 的 cookie 是第三方 cookie。而且,由于第三方 cookie 无法存储在系统上,因此身份验证在 Safari 上不起作用。这是一个公平的理解吗?由于 Alphabet Inc 与 Apple 不同,它拥有大量网络资产和可嵌入内容,因此它很可能会弄清楚如何允许iframes 访问第一方 cookie。这是一个公平的希望吗?
    • 第一部分是公平的,我认为他们会实施 Apple 的解决方案,但直到他们所有的 web 应用程序都首先支持它。
    猜你喜欢
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2017-08-31
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多