Я пытаюсь настроить интерфейс реакции для связи с. net сервером. Однако я, кажется, застрял на настройке cors. Ниже у меня есть мой стартовый код из внутреннего проекта, а также код из моего внешнего интерфейса. Я следовал за несколькими руководствами, и я не уверен, где я напутал, это работало на моем локальном хосте ранее, но не при развертывании в облаке. (инструкции, которые я выполняю: https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1 и https://code-maze.com/enabling-cors-in-asp-net-core/)
Спасибо за помощь!
Ошибка из консоли React App: Доступ извлечение в 'https://backend.azurewebsites.net/api/accountcredentials' от источника 'https://frontend.azurewebsites.net' было заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: Нет 'Access- Заголовок Control-Allow-Origin 'присутствует в запрашиваемом ресурсе. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.
Код запуска в asp. net проекте:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddNewtonsoftJson();
services.AddSingleton<UserService>();
services.AddSingleton<AccountService>();
services.AddCors(o => o.AddPolicy("ReactPolicy", builder =>
{
builder.AllowAnyOrigin() //dev
//.WithOrigins("http://localhost:3007") // dev
//.WithOrigins("https://frontend.azurewebsites.net")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
}));
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting(routes =>
{
routes.MapControllers();
});
app.UseCors("ReactPolicy");
app.UseAuthorization();
}
Атрибуты класса контроллера:
[Produces("application/json")]
[Route("api/[controller]")]
[ApiController]
[EnableCors("ReactPolicy")]