Ciao Giulia Marino,
Se la tua API gira su Windows Server IIS, le richieste preflight di solito falliscono perché il default OPTIONSVerbHandler %SystemRoot%\System32\inetsrv\config\applicationHost.config in cattura OPTIONS i verbi prima che l'applicazione venga eseguita, oppure perché l'autenticazione IIS Windows respinge le richieste preflight anonime con un errore HTTP 401.2 Unauthorized . Per risolvere questo problema in sicurezza, installa il modulo ufficiale Microsoft IIS CORS (%SystemRoot%\System32\inetsrv\cors.dll), rimuovi OPTIONSVerbHandler all'interno della web.config sezione system.webServer/handlers sotto del tuo sito e configura la system.webServer/cors sezione con enabled="true". All'interno di quel cors blocco, aggiungi il tuo esplicito URL di origine client (impostando allowCredentials="true" se le tue chiamate REST passano token di autenticazione o cookie) e elenca esplicitamente le header consentite e i metodi HTTP così IIS risponde ai OPTIONS controlli preflight prima dell'esecuzione dell'autenticazione.
Se la tua API è costruita con ASP.NET Core e gestisce CORS nel codice applicativo, registra la tua policy usando Program.cs builder.Services.AddCors regole esplicite di origine, metodo e header, e posiziona app.UseCors() immediatamente dopo app.UseRouting() e strettamente prima app.UseAuthentication() e app.UseAuthorization() affinché le OPTIONS richieste anonime di preflight abbiano successo prima dei controlli di autorizzazione. In alternativa, se la tua API è ospitata su Azure App Service, puoi configurare le origini consentite direttamente nel portale Azure nel menu CORS, che istruisce il load balancer front-end di Azure a rispondere OPTIONS automaticamente alle richieste; tuttavia, poiché il CORS della piattaforma Azure sovrascrive il codice CORS a livello applicativo, dovresti abilitare CORS sia nel portale Azure che nella configurazione della tua applicazione, non in entrambi contemporaneamente.
Spero che questa risposta ti abbia dato qualche informazione utile. Se è così, premi "accetta risposta". Se hai domande, sentiti libero di lasciare un commento.
VPHAN