WebPi .net Cors policy

0

Cześć,
jak działa CORS policy w .net 5? Jak dobrze rozumiem, api powinno odpowiadać jeśli request przyjdzie z źródła podanego w CORS, w startup.cs mam coś takiego:

services.AddCors(options =>
{
    options.AddPolicy(AllowMyOrigin, c =>
    c.WithOrigins("http://localhost:3000")
    .AllowAnyHeader()
    .AllowAnyMethod()
    .AllowCredentials());
});

na porcie 3000 uruchamia mi się w debug aplikacja webowa, natomiast odpalając api w debug uruchamia swagger się pod portem 44355, a wywołując z niego poszczególne metody wszystko działa, a chyba nie powinno?

W metodzie public void Configure(IApplicationBuilder app, IWebHostEnvironment env) mam dodane app.UseCors(AllowMyOrigin);

3

CORS to instrukcja dla przeglądarek o tym z jakich źródeł mogą pobierać zasoby typu skrypty, obrazy itp. To nie jest zabezpieczenie się serwera przed odbieraniem requestów z innych URL.

Więc informacji

0

To w jaki sposób mogę sprawdzić czy rzeczywiście to działa dla każdego requestu? Bo swagger uruchamiany jest z przeglądarki, więc tam powinien pojawić się błąd przy wysłaniu requesta? jak dodałem [EnableCors("AllowSpecific")] to zacząłem dostawać 500, mimo iż adres zmieniłem na taki jak ma swagger.

1

Czy oprócz AddCors użyłeś również UseCors, przekazując nazwę policy jaką chcesz użyć? Jeśli to nie zapewne dla tego Ci nie działa. Sprawdź sobie dokumentację i upewnij się że masz to dobrze podpięte.

https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0

1 użytkowników online, w tym zalogowanych: 0, gości: 1