Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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");