CORS
CORS (Cross-Origin Resource Sharing) indique aux navigateurs quelles origines peuvent appeler une API depuis une page web. Il ne remplace pas l’authentification : un client hors navigateur peut toujours appeler l’API.
Documentation : https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS
Configuration
Pour configurer CORS, nous allons utiliser la classe AddCors dans le fichier program.cs.
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
});
Pour utiliser CORS, nous allons ajouter le middleware UseCors dans le fichier program.cs.
app.UseCors("AllowAll");
Cela va permettre à toutes les origines de faire des requêtes vers notre API.
Pour limiter les origines qui peuvent faire des requêtes vers notre API, nous pouvons configurer une politique CORS.
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin", builder => builder
.WithOrigins("https://csharp.nouvet.fr")
.AllowAnyHeader()
.AllowAnyMethod());
});
L’origine comprend le protocole, l’hôte et éventuellement le port, mais pas le chemin /front3. Cette politique autorise donc les pages de https://csharp.nouvet.fr à appeler l’API depuis un navigateur.
Pour utiliser une politique CORS, nous allons ajouter le middleware UseCors dans le fichier program.cs.
app.UseCors("AllowSpecificOrigin");