Происхождение https://demo.example.com не разрешено Access-Control-Allow-Origin - PullRequest
0 голосов
/ 04 октября 2019

В API ASP.NET Core 2.2 у меня есть следующее на ConfigureServices:

services.AddCors(x => {
  x.AddPolicy("AllowAll", y => y.AllowAnyMethod().AllowAnyOrigin().AllowAnyHeader().AllowCredentials());
}); 

А на методе Configure у меня есть:

application.UseCors("AllowAll");

Я опубликовал API для Azure сдомен:

https://api-demo.example.com

И веб-приложение, которое обращается к API, находится в:

https://demo.example.com

Однако в веб-приложении появляется ошибка:

Origin https://demo.example.com не разрешен Access-Control-Allow-Origin.
XMLHttpRequest не может загрузить https://api -demo.example.com / v1.0 / posts из-за доступаконтрольные проверки.
Не удалось загрузить ресурс: Origin https://demo.example.com не разрешен Access-Control-Allow-Origin.

Не должен AllowAll работать в этой ситуации? Чего мне не хватает?

Обновление

Это мой порядок запуска при запуске:

  application.UseHsts(); 

  application.UseCors("AllowAll");

  application.UseAuthentication();

  application.UseHealthChecks("/health");

  application.UseHttpsRedirection();

  application.UseResponseCaching();

  application.UseMvc();  

1 Ответ

2 голосов
/ 04 октября 2019
Заголовок

Access-Control-Allow-Origin не поддерживает подстановочный знак * в сочетании с Access-Control-Allow-Credentials

Из веб-документов MDN https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin#Directives

Для запросов без учетных данных литеральное значение«*» может быть указано как подстановочный знак;значение указывает браузерам разрешить запрашивать код из любого источника для доступа к ресурсу. Попытка использовать подстановочный знак с учетными данными приведет к ошибке.

...