diff --git a/DfE.FindInformationAcademiesTrusts/Program.cs b/DfE.FindInformationAcademiesTrusts/Program.cs index 9ecc182ea..e2ac0fdb8 100644 --- a/DfE.FindInformationAcademiesTrusts/Program.cs +++ b/DfE.FindInformationAcademiesTrusts/Program.cs @@ -232,12 +232,23 @@ private static void AddEnvironmentVariablesTo(WebApplicationBuilder builder) builder.Configuration.AddUserSecrets(Assembly.GetExecutingAssembly()); // Retrieve the connection string - string? connectionString = builder.Configuration.GetConnectionString("AppConfig"); + string? appConfigConnectionString = builder.Configuration.GetConnectionString("AppConfig"); + // Load App Configuration and Feature Flags from Azure - builder.Configuration.AddAzureAppConfiguration(options => - options.Connect(connectionString).UseFeatureFlags(), - true - ); + if (!string.IsNullOrEmpty(appConfigConnectionString)) + { + // Check to see if a Managed Identity has been set + string? azureClientId = builder.Configuration.GetSection("AZURE_CLIENT_ID").Value; + + // Register App Configuration + builder.Configuration.AddAzureAppConfiguration(options => + options.Connect( + new Uri(appConfigConnectionString), + new ManagedIdentityCredential(azureClientId) + ).UseFeatureFlags(), + true + ); + } builder.Services.AddOptions() .Bind(builder.Configuration.GetSection(TestOverrideOptions.ConfigurationSection));