Added data protection keys and cert encryption to them
continuous-integration/drone/pr Build is passing

This commit is contained in:
Khwezi Mngoma
2026-06-14 11:33:04 +02:00
parent 5204816370
commit 44741d2162
3 changed files with 39 additions and 14 deletions
+4 -3
View File
@@ -18,13 +18,13 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="LiteCharms.Features" Version="1.127.0" />
<PackageReference Include="LiteCharms.Features" Version="1.130.0" />
</ItemGroup>
<!-- UI -->
<ItemGroup>
<PackageReference Include="ANM.Blazored.Toast" Version="0.1.1" />
<PackageReference Include="LiteCharms.Features.MidrandBooks" Version="1.127.0" />
<PackageReference Include="LiteCharms.Features.MidrandBooks" Version="1.130.0" />
<!-- Global Usings -->
<Using Include="Blazored.Toast.Services" />
@@ -54,8 +54,9 @@
<Using Include="Microsoft.JSInterop" />
<Using Include="System.Globalization" />
<Using Include="System.Security.Claims" />
<Using Include="Microsoft.AspNetCore.HttpOverrides" />
<Using Include="Microsoft.Extensions.Options" />
<Using Include="Microsoft.EntityFrameworkCore" />
<Using Include="Microsoft.AspNetCore.HttpOverrides" />
<Using Include="Microsoft.AspNetCore.Components.Authorization" />
<Using Include="Microsoft.AspNetCore.Components.Routing" />
<Using Include="Microsoft.AspNetCore.Components.Web" />
+16 -4
View File
@@ -2,25 +2,26 @@ using LiteCharms.Features.Extensions;
using LiteCharms.Features.Mediator;
using LiteCharms.Features.MidrandBooks.Extensions;
using LiteCharms.Features.MidrandBooks.Payments;
using LiteCharms.Features.Postgres;
using MidrandBookshop.Components;
using static LiteCharms.Features.Extensions.Quartz;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAntiforgery();
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();
builder.AddMonitoring();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddMediator();
builder.Services.AddLiteCharmsWebSecurity(builder.Configuration, builder.Environment);
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TelemetryPipelineBehavior<,>));
builder.Services.AddScoped(typeof(IPipelineBehavior<,>), typeof(LoggingPipelineBehavior<,>));
builder.Services.AddQuartzSchedulerClient(MidrandShopSchedulerName, builder.Configuration);
builder.Services.AddMediator();
builder.Services.AddEmailServices(builder.Configuration);
builder.Services.AddEmailServiceBus();
@@ -28,8 +29,12 @@ builder.Services.AddHttpClient();
builder.Services.AddScoped<CartService>();
builder.Services.AddShopServices(includeLocalStorage: true);
builder.Services.AddHashServices(builder.Configuration);
builder.Services.AddSecurityApiSdk(builder.Configuration);
builder.Services.AddPayfastServices(builder.Configuration);
builder.Services.AddSecurityApiSdk(builder.Configuration);
builder.Services.AddLiteCharmsWebSecurity(builder.Configuration);
builder.Services.AddDataProtectionDatabase(builder.Configuration);
builder.Services.AddMidrandShopDatabase(builder.Configuration);
builder.Services.AddMidrandShopPostgresHealthCheck();
@@ -44,6 +49,13 @@ builder.Services.Configure<ForwardedHeadersOptions>(options =>
var app = builder.Build();
using var security = app.Services.CreateScope();
{
var dataProtectionContext = security.ServiceProvider.GetRequiredService<DataProtectionDbContext>();
await dataProtectionContext.Database.MigrateAsync();
}
app.UseForwardedHeaders();
app.AddSecurityEndpoints();