Существует довольно много дискуссий на эту тему, однако ни одна из них не работает для меня.У меня есть asp.net core api 2.1 с угловым приложением 7.
Ошибка:
"автопарк: 1 Доступ к XMLHttpRequest на« https://localhost:44354/api/test' от источника »http://localhost:4200' заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». "
Запуск:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
services.AddCors((options =>
{
options.AddPolicy("AzurePolicy", builder => builder
.WithOrigins("http://localhost:4200", "https://localhost:4200", "Access-Control-Allow-Origin", "Access-Control-Allow-Credentials")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
}));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("AzurePolicy");
app.UseAuthentication();
app.UseMvc();
}
Конфиг:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "xx.com",
"TenantId": "xx",
"ClientId": "xx"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
Я даже добавил следующее к контроллеру:
[EnableCors("AllowSpecificOrigin")]
Есть ли еще что-то, что вы можете сделать здесь?