自 Looker 24.14(计划于 2024 年 8 月 7 日发布)起,出于安全考虑,我们将弃用实验性 Labs 功能 嵌入无 Cookie 身份验证,转而使用无 Cookie 嵌入功能。
如果您已启用嵌入无 Cookie 身份验证实验室功能,但未实施以下任一解决方案来确保嵌入使用情形能够继续适用于所有嵌入用户,那么当您的实例升级到 Looker 24.14 时,所有嵌入式 iframe 将自动默认使用 Cookie 进行身份验证。
这一点为什么非常重要?
Looker 使用 Cookie 进行用户身份验证。如果 Looker 实例与嵌入式 iframe 位于不同的网域中,则这些 Cookie 会被视为第三方 Cookie。有些浏览器默认采用会屏蔽第三方 Cookie 的 Cookie 政策。当第三方 Cookie 被屏蔽时,无法跨不同网域对嵌入式 iframe 进行身份验证。
如果 Looker 实例和嵌入式 iframe 的网域匹配,Cookie 会变成第一方 Cookie,而第一方 Cookie 不会被屏蔽。例如,如果您想在 https://mycompany.com
上嵌入信息,Looker 必须共享同一网域,例如 https://analytics.mycompany.com
。
我需要做什么?
实施以下解决方案之一,以确保您的嵌入使用情形能够继续适用于所有嵌入用户:
为 Looker 实例设置自定义网域。
您可以为 Looker 实例设置自定义网域,该网域与嵌入式应用所用的网域相同。配置自定义网域后,Looker 使用的 Cookie 会变为第一方 Cookie,因为 Looker 网域与嵌入式应用网域相匹配。例如,如果您要在
analytics.mycompany.com
上嵌入内容,可以设置一个自定义网域,将 Looker 网址从mycompany.cloud.looker.com
更改为looker.mycompany.com
。如需在由 Looker 托管的 Looker(原始版本)实例上设置自定义网域,请与 Looker 支持团队联系。
如需在 Looker (Google Cloud Core) 实例上设置自定义网域,请按照为 Looker (Google Cloud Core) 实例设置自定义网域文档页面上的说明操作。
改用无 Cookie 嵌入。
不使用 Cookie 的嵌入式功能采用基于令牌的方法进行嵌入式用户身份验证,从而绕过 Looker 对浏览器 Cookie 的依赖。此功能已正式发布,但需要更改嵌入式应用代码才能实现。如需了解详情,请参阅无 Cookie 嵌入文档页面。
如果您有任何疑问或需要帮助,请与 Looker 支持团队联系。
哪种解决方案更适合我?
对于大多数嵌入用例,设置自定义网域是解决第三方 Cookie 问题的更简单方法。无 Cookie 嵌入需要更改嵌入应用代码才能实现。
无 Cookie 嵌入的一个使用场景是,客户为每个客户在不同的网域上托管其嵌入式应用。在这种情况下,实现无 Cookie 嵌入可避免设置和维护数十个甚至数百个单独的自定义网域来允许第三方 Cookie。
如果您有任何疑问或需要帮助,请与 Looker 支持团队联系。