我正在将 SharedArrayBuffer 用于其中一个 webapp 中的一些功能。在 Chrome 版本 92 上,我已按照此处的说明启用跨源隔离,并将以下标题添加到根页面和wasm
文件。
Cross-Origin-Resource-Policy: cross-origin
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
之后wasm
文件被成功加载。
但现在我无法添加ReCaptchaV2。获取主脚本的第一个请求成功https://www.google.com/recaptcha/api.js...
,但随后的 iframe 加载https://www.google.com/recaptcha/api2/anchor...
url 被 Chrome 阻止。(原因This resource needs Cross-Origin-Resource-Policy: same-site/cross-origin header
:)
暂时避免此问题的一种方法可能是从 Chrome 获取令牌,以SharedBufferArray
通过获取试用令牌并使用它来允许使用。参考https://developer.chrome.com/blog/enabling-shared-array-buffer/#origin-trial。但这可能不是一个可扩展的事情,因为我有几个来源要处理。
有没有其他方法可以将 ReCaptcha 与跨源隔离(COEP 标头)一起使用?