Ошибка запроса CORS, даже если он включен в ядро. Net Core - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть тестовое приложение, в которое я хочу отправить запрос и получить токен, но в любом случае я не могу его получить из-за ошибки перекрестного запроса в моем бэкэнде в конфигурации, которую я имею:

  public void ConfigureServices(IServiceCollection services)
    {


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

и добавил следующее в части «Настройка»:

  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {


        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseHsts();
        }
        app.UseAuthentication();

            app.UseCors("MyPolicy");

        app.UseMvc();
    }

, но по-прежнему получаю сообщение об ошибке, которое было заблокировано политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует в запрашиваемый ресурс

1 Ответ

0 голосов
/ 26 апреля 2020

Поместите services.AddCors в начало вашего ConfigureSevices метода, затем настройте cors следующим образом:

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

В Configure методе добавьте app.UseCors("MyPolicy"); также в начало метода. Это хорошо работает для меня, но прежде чем я попробовал много вариантов, которые не сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...