Browse Source

Remove the UseVault and use the existance of the section

davidfowl/common-services
David Fowler 1 year ago
committed by Reuben Bond
parent
commit
bff808016e
3 changed files with 37 additions and 33 deletions
  1. +0
    -6
      src/Services/Basket/Basket.API/appsettings.json
  2. +0
    -6
      src/Services/Catalog/Catalog.API/appsettings.json
  3. +37
    -21
      src/Services/Services.Common/CommonExtensions.cs

+ 0
- 6
src/Services/Basket/Basket.API/appsettings.json View File

@ -19,12 +19,6 @@
"ApplicationInsights": { "ApplicationInsights": {
"InstrumentationKey": "" "InstrumentationKey": ""
}, },
"UseVault": false,
"Vault": {
"Name": "eshop",
"ClientId": "your-client-id",
"ClientSecret": "your-client-secret"
},
"OpenApi": { "OpenApi": {
"Endpoint": { "Endpoint": {
"Name": "" "Name": ""


+ 0
- 6
src/Services/Catalog/Catalog.API/appsettings.json View File

@ -17,12 +17,6 @@
"ApplicationInsights": { "ApplicationInsights": {
"InstrumentationKey": "" "InstrumentationKey": ""
}, },
"UseVault": false,
"Vault": {
"Name": "eshop",
"ClientId": "your-client-id",
"ClientSecret": "your-client-secret"
},
"OpenApi": { "OpenApi": {
"Endpoint": { "Endpoint": {
"Name": "" "Name": ""


+ 37
- 21
src/Services/Services.Common/CommonExtensions.cs View File

@ -1,5 +1,6 @@
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using System.Net; using System.Net;
using Autofac.Core;
using Azure.Identity; using Azure.Identity;
using HealthChecks.UI.Client; using HealthChecks.UI.Client;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
@ -79,6 +80,13 @@ public static class CommonExtensions
public static IApplicationBuilder UseDefaultOpenApi(this IApplicationBuilder app, IConfiguration configuration) public static IApplicationBuilder UseDefaultOpenApi(this IApplicationBuilder app, IConfiguration configuration)
{ {
var openApiSection = configuration.GetRequiredSection("OpenApi");
if (!openApiSection.Exists())
{
return app;
}
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(setup => app.UseSwaggerUI(setup =>
{ {
@ -95,7 +103,6 @@ public static class CommonExtensions
/// } /// }
var pathBase = configuration["PATH_BASE"]; var pathBase = configuration["PATH_BASE"];
var openApiSection = configuration.GetRequiredSection("OpenApi");
var authSection = openApiSection.GetSection("Auth"); var authSection = openApiSection.GetSection("Auth");
var endpointSection = openApiSection.GetRequiredSection("Endpoint"); var endpointSection = openApiSection.GetRequiredSection("Endpoint");
@ -113,11 +120,17 @@ public static class CommonExtensions
return app; 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": { /// "OpenApi": {
/// "Document": { /// "Document": {
@ -174,6 +187,7 @@ public static class CommonExtensions
options.OperationFilter<AuthorizeCheckOperationFilter>(); options.OperationFilter<AuthorizeCheckOperationFilter>();
}); });
}
public static IServiceCollection AddDefaultAuthentication(this IServiceCollection services, IConfiguration configuration) public static IServiceCollection AddDefaultAuthentication(this IServiceCollection services, IConfiguration configuration)
{ {
@ -243,27 +257,29 @@ public static class CommonExtensions
public static ConfigurationManager AddKeyVault(this ConfigurationManager configuration) 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; return configuration;
} }


Loading…
Cancel
Save