Configurar CORS en una API .NET Core

Configurar CORS en una API .NET Core

Desde .NET 7 en adelante, no necesitas instalar ninguna extensión adicional para habilitar CORS. Todo lo que necesitas ya está incluido en el framework. A continuación, te explico cómo habilitar CORS para permitir solicitudes desde cualquier origen, método, y encabezado.

1. Configurar CORS en Program.cs

En .NET 7, la configuración se realiza directamente en el archivo Program.cs. Aquí te muestro cómo hacerlo:

a. Agregar la Configuración de CORS

Dentro del archivo Program.cs, debes configurar los servicios para habilitar CORS y definir una política que permita solicitudes desde cualquier origen, método y encabezado:

var builder = WebApplication.CreateBuilder(args);

// Configurar CORS para permitir cualquier origen, método y encabezado
builder.Services.AddCors(options =>
{
    options.AddPolicy("AllowAll", 
        policy =>
        {
            policy.AllowAnyOrigin()
                  .AllowAnyMethod()
                  .AllowAnyHeader();
        });
});

// Agregar controladores
builder.Services.AddControllers();

var app = builder.Build();

// Aplicar la política de CORS
app.UseCors("AllowAll");

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

2. Explicación del Código

  • AddCors y AddPolicy: Definimos una política llamada "AllowAll" que permite cualquier origen (AllowAnyOrigin), cualquier método HTTP (AllowAnyMethod), y cualquier encabezado (AllowAnyHeader).
  • UseCors: Aplicamos la política de CORS a todas las solicitudes entrantes usando app.UseCors("AllowAll").
  • MapControllers: Asegura que tus controladores están mapeados correctamente para responder a las solicitudes.

3. Consideraciones de Seguridad

Habilitar CORS desde cualquier origen, método y encabezado es muy permisivo y, aunque puede ser útil en escenarios de desarrollo o pruebas, no es recomendable en entornos de producción sin restricciones adicionales. En producción, debes considerar restringir los orígenes permitidos y los métodos permitidos para proteger tu API.

4. Configuración Adicional

Si en algún momento necesitas restringir los orígenes permitidos, puedes modificar AllowAnyOrigin por WithOrigins("https://example.com"), donde puedes especificar uno o más dominios específicos. Del mismo modo, puedes restringir métodos y encabezados según sea necesario.

Te puede interesar...

Deja un comentario