Aby włączyć ustawienia CORS (Cross-Origin Resource Sharing) w ASP.NET Core Web API, musisz skonfigurować odpowiednie ustawienia w aplikacji. CORS pozwala na kontrolowanie, które źródła (np. inna domena) mają dostęp do zasobów w twoim interfejsie API. Oto kroki, które musisz podjąć:

  1. Zainstaluj pakiet NuGet:

    Upewnij się, że w projekcie ASP.NET Core Web API jest zainstalowany pakiet Microsoft.AspNetCore.Cors. Jeśli nie jest, możesz go zainstalować za pomocą narzędzia CLI lub menedżera NuGet.

  2. Konfiguracja w Startup.cs:

    W klasie Startup.cs w metodzie ConfigureServices, dodaj usługę CORS do kontenera DI (Dependency Injection):

    using Microsoft.Extensions.DependencyInjection;
    
    // ...
    
    public void ConfigureServices(IServiceCollection services)
    {
        // Inne konfiguracje
    
        services.AddCors(options =>
        {
            options.AddPolicy("AllowSpecificOrigin",
                builder => builder
                    .WithOrigins("<https://example.com>") // Zmień na odpowiednią domenę
                    .AllowAnyMethod()
    								.AllowCredentials()
                    .AllowAnyHeader());
        });
    }
    

    W powyższym przykładzie używamy polityki CORS o nazwie "AllowSpecificOrigin", która pozwala na dostęp tylko z określonej domeny (https://example.com) i zezwala na dowolne metody HTTP oraz nagłówki oraz na przesyłanie credentiali (np. ciasteczek, nagłówków autoryzacyjnych).

  3. Dodanie middleware CORS:

    W Startup.cs, w metodzie Configure, dodaj middleware CORS, aby aktywować obsługę żądań CORS:

    using Microsoft.AspNetCore.Builder;
    
    // ...
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // Inne konfiguracje
    
        app.UseCors("AllowSpecificOrigin");
    
        // Inne komponenty oprogramowania pośredniczącego (middleware)
    }
    

    Upewnij się, że middleware CORS jest umieszczone przed innymi komponentami oprogramowania pośredniczącego, które mogą przetwarzać żądania, takie jak middleware routingu.

To są podstawowe kroki do włączenia obsługi CORS w ASP.NET Core Web API. Możesz dostosować konfigurację CORS do swoich potrzeb, uwzględniając różne źródła, metody i nagłówki, które mają być dozwolone lub ograniczone w dostępie do twojego interfejsu API.

Materiały

Enable Cross-Origin Requests (CORS) in ASP.NET Core

Understanding CORS with ASP.NET Core C#