Enable Cross-Origin Requests (CORS) in ASP.NET Core
Store Allowed Domains in appsettings.json: Instead of hardcoding the allowed domains in the code, we can define them in the configuration file:
{
"AllowedOrigins": [
"https://app1.example.com",
"https://app2.example.com",
"https://mobile.example.com"
]
}
Retrieved the array of allowed origins from the app settings and used them to register CORS services :
string allowedSpecificOrigins = "AllowSpecificOrigins";
WebApplicationBuilder? builder = WebApplication.CreateBuilder(args);
string[]? allowedOrigins = builder
.Configuration
.GetSection("AllowedOrigins")
.Get<string[]>();
builder.Services.AddCors(options =>
{
options.AddPolicy(allowedSpecificOrigins,
policy =>
{
policy.WithOrigins(allowedOrigins)
.AllowAnyMethod()
.AllowAnyHeader();
});
});
builder.Services.AddControllers();
Enable CORS middleware
app.UseCors(allowedSpecificOrigins);