Safari 'origin is not allowed' 阻止 AppEngine 身份识别代理 https://accounts.google.com/o/oauth2/v2/auth

Safari 'origin is not allowed' blocking AppEngine Identity-aware proxy https://accounts.google.com/o/oauth2/v2/auth

仅当尝试加载启用了身份识别代理的 AppEngine 站点时,才会在 Safari 浏览器上出现重定向问题。它显示请求被重定向到 https://accounts.google.com/o/oauth2/v2/auth 但随后失败。

Origin is not allowed by Access-Control-Allow-Origin

如果我在 Safari 的新选项卡中手动加载 url,我会得到:AppEngine 错误代码 9。

我认为这可能与 Safari 更严格的 cookie 规则有关,不知何故 IAP 会话 cookie 被忽略了,因为它来自另一个域?

Safari 似乎有更严格的 CORS 规则,这可能需要额外的规则。特别是如果使用 AppEngine IAP。

如果使用 <img><video><link><script> 标签,并使用 CORS 从其他域加载内容。您需要 crossorigin="use-credentials" 属性以允许 cookie 共享:

<script src="https://example.com/script.js" crossorigin="use-credentials"></script>

https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes

注意:这不太安全。

Angular 有一个构建命令,它会自动为您添加属性:

ng build --prod --crossOrigin=use-credentials

https://angular.io/cli/build#options