首页 > 解决方案 > Firebase 身份验证因跨源隔离而中断(即使用跨源资源策略时)

问题描述

我正在尝试使网站跨源隔离,并在我的网站上启用以下标头:

https://web.dev/cross-origin-isolation-guide/

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

Firebase 身份验证使用以下调用:

https://<AUTH_DOMAIN>/__/auth/iframe?apiKey=<API_KEY>&appName=[DEFAULT]

如果您使身份验证失败,这将被阻止。

由于您的站点启用了跨域嵌入策略 (COEP),因此每个资源都必须指定合适的跨域资源策略 (CORP)。此行为可防止文档加载未明确授予加载权限的跨域资源。要解决此问题,请将以下内容添加到资源的响应标头: Cross-Origin-Resource-Policy:如果资源和您的站点是从同一个站点提供的,则为相同站点。Cross-Origin-Resource-Policy:如果资源是从您的网站以外的其他位置提供的,则跨域。⚠️如果你设置了这个header,任何网站都可以嵌入这个资源。

如何解决这个问题?似乎根本问题是firebase需要在他们身边设置一个标题?

标签: firebase-authenticationcross-origin-embedder-policycross-origin-resource-policy

解决方案


推荐阅读