Safari «источник не разрешен», блокирующий прокси-сервер AppEngine, поддерживающий идентификацию https://accounts.google.com/o/oauth2/v2/auth - PullRequest
0 голосов
/ 21 октября 2019

Получение проблемы с перенаправлением в браузере Safari только при попытке загрузить сайт AppEngine с включенным прокси-сервером с поддержкой идентификации. Он показывает, что запросы перенаправляются на https://accounts.google.com/o/oauth2/v2/auth, но затем не выполняются.

Источник не разрешен Access-Control-Allow-Origin

enter image description here

Если я загружаю URL-адрес вручную в новой вкладке в Safari, я получаю: Код ошибки AppEngine 9.

Я думаю, что это, вероятно, связано с более строгими правилами cookie Safari. каким-то образом cookie сеанса IAP игнорируется, потому что он из другого домена?

1 Ответ

1 голос
/ 21 октября 2019

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

...