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ąć:
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.
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).
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.