diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj index c9d7929a8..bab47e191 100644 --- a/src/Services/Basket/Basket.API/Basket.API.csproj +++ b/src/Services/Basket/Basket.API/Basket.API.csproj @@ -1,54 +1,23 @@  - - net7.0 - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; - ..\..\..\..\docker-compose.dcproj - false - true - + + net7.0 + ..\..\..\..\docker-compose.dcproj + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + diff --git a/src/Services/Basket/Basket.API/GlobalUsings.cs b/src/Services/Basket/Basket.API/GlobalUsings.cs index 84a9edcbb..bef9dcdae 100644 --- a/src/Services/Basket/Basket.API/GlobalUsings.cs +++ b/src/Services/Basket/Basket.API/GlobalUsings.cs @@ -34,4 +34,5 @@ global using Microsoft.Extensions.DependencyInjection; global using Microsoft.Extensions.Hosting; global using Microsoft.Extensions.Logging; global using Serilog.Context; +global using Services.Common; global using StackExchange.Redis; diff --git a/src/Services/Basket/Basket.API/Program.cs b/src/Services/Basket/Basket.API/Program.cs index e7dd796e2..0563867fb 100644 --- a/src/Services/Basket/Basket.API/Program.cs +++ b/src/Services/Basket/Basket.API/Program.cs @@ -1,6 +1,4 @@ -using Services.Common; - -var builder = WebApplication.CreateBuilder(args); +var builder = WebApplication.CreateBuilder(args); builder.AddServiceDefaults(); @@ -25,10 +23,10 @@ builder.Services.AddTransient(); var app = builder.Build(); -app.MapGet("/", () => Results.Redirect("/swagger")); - app.UseServiceDefaults(); +app.MapGet("/", () => Results.Redirect("/swagger")); + app.MapGrpcService(); app.MapControllers(); @@ -39,10 +37,6 @@ eventBus.Subscribe p.Key, p => p.Value); + var scopes = identitySection.GetRequiredSection("Scopes").GetChildren().ToDictionary(p => p.Key, p => p.Value); options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme { @@ -194,8 +188,7 @@ public static class CommonExtensions // { // "Identity": { // "Url": "http://identity", - // "Audience": "basket", - // "Scope": "basket" + // "Audience": "basket" // } // } @@ -221,40 +214,9 @@ public static class CommonExtensions options.TokenValidationParameters.ValidateAudience = false; }); - services.AddAuthorization(options => - { - var scope = identitySection.GetRequiredValue("Scope"); - - options.AddPolicy("ApiScope", policy => - { - policy.RequireAuthenticatedUser(); - policy.RequireClaim("scope", scope); - }); - }); - return services; } - public static IWebHostBuilder UseDefaultPorts(this IWebHostBuilder builder, IConfiguration configuration) - { - builder.UseKestrel(options => - { - var (httpPort, grpcPort) = GetDefinedPorts(configuration); - - options.Listen(IPAddress.Any, httpPort, listenOptions => - { - listenOptions.Protocols = HttpProtocols.Http1AndHttp2; - }); - - options.Listen(IPAddress.Any, grpcPort, listenOptions => - { - listenOptions.Protocols = HttpProtocols.Http2; - }); - }); - - return builder; - } - public static ConfigurationManager AddKeyVault(this ConfigurationManager configuration) { // { @@ -432,15 +394,25 @@ public static class CommonExtensions { var seqServerUrl = configuration["Serilog:SeqServerUrl"]; var logstashUrl = configuration["Serilog:LogstashgUrl"]; - return new LoggerConfiguration() + + var loggingConfiguration = new LoggerConfiguration() .MinimumLevel.Verbose() .Enrich.WithProperty("ApplicationContext", name) .Enrich.FromLogContext() .WriteTo.Console() - .WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl) - .WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl, null) - .ReadFrom.Configuration(configuration) - .CreateLogger(); + .ReadFrom.Configuration(configuration); + + if (!string.IsNullOrEmpty(seqServerUrl)) + { + loggingConfiguration.WriteTo.Seq(seqServerUrl); + } + + if (!string.IsNullOrEmpty(logstashUrl)) + { + loggingConfiguration.WriteTo.Http(logstashUrl, null); + } + + return loggingConfiguration.CreateLogger(); } } @@ -458,13 +430,6 @@ public static class CommonExtensions }); } - static (int httpPort, int grpcPort) GetDefinedPorts(IConfiguration config) - { - var grpcPort = config.GetValue("GRPC_PORT", 5001); - var port = config.GetValue("PORT", 80); - return (port, grpcPort); - } - private static string GetRequiredValue(this IConfiguration configuration, string name) => configuration[name] ?? throw new InvalidOperationException($"Configuration missing value for: {(configuration is IConfigurationSection s ? s.Path + ":" + name : name)}"); }