diff --git a/src/Services/Basket/Basket.API/appsettings.json b/src/Services/Basket/Basket.API/appsettings.json index 46a21d4c2..e628394a8 100644 --- a/src/Services/Basket/Basket.API/appsettings.json +++ b/src/Services/Basket/Basket.API/appsettings.json @@ -19,12 +19,6 @@ "ApplicationInsights": { "InstrumentationKey": "" }, - "UseVault": false, - "Vault": { - "Name": "eshop", - "ClientId": "your-client-id", - "ClientSecret": "your-client-secret" - }, "OpenApi": { "Endpoint": { "Name": "" diff --git a/src/Services/Catalog/Catalog.API/appsettings.json b/src/Services/Catalog/Catalog.API/appsettings.json index dda8c7a17..c05acb89b 100644 --- a/src/Services/Catalog/Catalog.API/appsettings.json +++ b/src/Services/Catalog/Catalog.API/appsettings.json @@ -17,12 +17,6 @@ "ApplicationInsights": { "InstrumentationKey": "" }, - "UseVault": false, - "Vault": { - "Name": "eshop", - "ClientId": "your-client-id", - "ClientSecret": "your-client-secret" - }, "OpenApi": { "Endpoint": { "Name": "" diff --git a/src/Services/Services.Common/CommonExtensions.cs b/src/Services/Services.Common/CommonExtensions.cs index a26e59722..d03764ce2 100644 --- a/src/Services/Services.Common/CommonExtensions.cs +++ b/src/Services/Services.Common/CommonExtensions.cs @@ -1,5 +1,6 @@ using System.IdentityModel.Tokens.Jwt; using System.Net; +using Autofac.Core; using Azure.Identity; using HealthChecks.UI.Client; using Microsoft.AspNetCore.Builder; @@ -79,6 +80,13 @@ public static class CommonExtensions public static IApplicationBuilder UseDefaultOpenApi(this IApplicationBuilder app, IConfiguration configuration) { + var openApiSection = configuration.GetRequiredSection("OpenApi"); + + if (!openApiSection.Exists()) + { + return app; + } + app.UseSwagger(); app.UseSwaggerUI(setup => { @@ -95,7 +103,6 @@ public static class CommonExtensions /// } var pathBase = configuration["PATH_BASE"]; - var openApiSection = configuration.GetRequiredSection("OpenApi"); var authSection = openApiSection.GetSection("Auth"); var endpointSection = openApiSection.GetRequiredSection("Endpoint"); @@ -113,11 +120,17 @@ public static class CommonExtensions return app; } - public static IServiceCollection AddDefaultOpenApi(this IServiceCollection services, IConfiguration configuration) => - services.AddSwaggerGen(options => + public static IServiceCollection AddDefaultOpenApi(this IServiceCollection services, IConfiguration configuration) + { + var openApi = configuration.GetRequiredSection("OpenApi"); + + if (!openApi.Exists()) { - var openApi = configuration.GetRequiredSection("OpenApi"); + return services; + } + return services.AddSwaggerGen(options => + { /// { /// "OpenApi": { /// "Document": { @@ -174,6 +187,7 @@ public static class CommonExtensions options.OperationFilter(); }); + } public static IServiceCollection AddDefaultAuthentication(this IServiceCollection services, IConfiguration configuration) { @@ -243,27 +257,29 @@ public static class CommonExtensions public static ConfigurationManager AddKeyVault(this ConfigurationManager configuration) { - if (configuration.GetValue("UseVault", false)) - { - // { - // "Vault": { - // "Name": "myvault", - // "TenantId": "mytenantid", - // "ClientId": "myclientid", - // } - // } + // { + // "Vault": { + // "Name": "myvault", + // "TenantId": "mytenantid", + // "ClientId": "myclientid", + // } + // } - var vaultSection = configuration.GetRequiredSection("Vault"); + var vaultSection = configuration.GetSection("Vault"); - var credential = new ClientSecretCredential( - vaultSection.GetRequiredValue("TenantId"), - vaultSection.GetRequiredValue("ClientId"), - vaultSection.GetRequiredValue("ClientSecret")); + if (!vaultSection.Exists()) + { + return configuration; + } - var name = vaultSection.GetRequiredValue("Name"); + var credential = new ClientSecretCredential( + vaultSection.GetRequiredValue("TenantId"), + vaultSection.GetRequiredValue("ClientId"), + vaultSection.GetRequiredValue("ClientSecret")); - configuration.AddAzureKeyVault(new Uri($"https://{name}.vault.azure.net/"), credential); - } + var name = vaultSection.GetRequiredValue("Name"); + + configuration.AddAzureKeyVault(new Uri($"https://{name}.vault.azure.net/"), credential); return configuration; }