From 69eeb8c53bda4447b2b8ed8f210e9014f454d425 Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sun, 2 Mar 2025 00:22:50 -0600 Subject: [PATCH] Fix CORS --- ALttPRandomizer/Options/ServiceOptions.cs | 2 ++ ALttPRandomizer/Program.cs | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ALttPRandomizer/Options/ServiceOptions.cs b/ALttPRandomizer/Options/ServiceOptions.cs index 94b7760..7d39740 100644 --- a/ALttPRandomizer/Options/ServiceOptions.cs +++ b/ALttPRandomizer/Options/ServiceOptions.cs @@ -1,10 +1,12 @@ namespace ALttPRandomizer.Options { using System; + using System.Collections.Generic; public class ServiceOptions { public string Baserom { get; set; } = null!; public string PythonPath { get; set; } = null!; public string RandomizerPath { get; set; } = null!; + public IList AllowedCors { get; set; } = new List(); public AzureSettings AzureSettings { get; set; } = new AzureSettings(); } diff --git a/ALttPRandomizer/Program.cs b/ALttPRandomizer/Program.cs index 7e51767..5298d6a 100644 --- a/ALttPRandomizer/Program.cs +++ b/ALttPRandomizer/Program.cs @@ -28,13 +28,22 @@ builder.Services.AddLogging(lb => lb.AddConsole()); + var provider = builder.Services.BuildServiceProvider(); + var settings = provider.GetRequiredService>().CurrentValue!; + var logger = provider.GetRequiredService>(); + + builder.Services.AddCors(options => { + options.AddPolicy("AllowDomains", policy => { + foreach (var domain in settings.AllowedCors) { + policy.WithOrigins(domain); + } + }); + }); + builder.Services.AddControllers().AddJsonOptions(x => x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter())); builder.Services.AddSwaggerGen(); - var provider = builder.Services.BuildServiceProvider(); - var settings = provider.GetRequiredService>().CurrentValue!; - var options = new DefaultAzureCredentialOptions(); if (settings.AzureSettings.ClientId != null) { @@ -53,6 +62,7 @@ var app = builder.Build(); app.UseHttpsRedirection(); + app.UseCors("AllowDomains"); app.MapControllers(); app.UseSwagger(); app.UseSwaggerUI(c => {