Как отключить Azure Web App от перезаписи CORS - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть приложение .NET Core 2.1, и я добавил политику CORS в ConfigureServices:

services.AddCors(options => options.AddPolicy("CorsPolicy",
            builder =>
            {
                builder.AllowAnyMethod().AllowAnyHeader()
                       .WithOrigins("http://localhost:4200")
                       .AllowCredentials();
            }));

и затем в Configure:

app.UseCors("CorsPolicy");

Локально, это прекрасно работает. Когда я выполняю развертывание в своем веб-приложении Azure, оно не работает. Мой клиент получает:

«Ответ на запрос предварительной проверки не проходит проверку контроля доступа: значение заголовка« Access-Control-Allow-Credentials »в ответе равно« », которое должно быть« истиной », если режим учетных данных запроса« включать » «"

Я могу воссоздать эту точную ошибку, удалив строку .AllowCredentials() локально.

Из документов я понимаю, что Azure CORS принимает любой код CORS:

«Не пытайтесь использовать App Service CORS и ваш собственный код CORS вместе. При совместном использовании App Service CORS имеет преимущество, а ваш собственный код CORS не действует».

Кажется, я не могу помешать Azure Web Apps вступить во владение. Я пытался удалить CORS с помощью CLI, но не могу полностью избавиться от него.

az resource update --name web --resource-group MyGroup --namespace Microsoft.Web --resource-type config --parent sites/MySite --set properties.cors.allowedOrigins="" --api-version 2015-06-01

Все, что нужно, это установить значение параметраOOOrigin в null. Но это все еще берет верх. Как удалить все следы CORS из Azure, чтобы использовался только мой код? Или, в худшем случае, как я могу сделать эквивалент «AllowCredentials» в Azure?

1 Ответ

0 голосов
/ 06 сентября 2018

У меня была та же проблема, и мне пришлось удалить все «разрешенные источники» на вкладке cors на портале Azure для службы приложений и перезапустить.

Если это не работает, есть несколько советов по удалению заголовка параметров в веб-конфигурации здесь Включить заголовок Access-Control-Allow-Credentials на веб-сайте Azure (службы приложений Azure)

...