Add authentication and improve server side configuration

This commit is contained in:
Stone_Red
2025-12-23 14:53:44 +01:00
parent 5819432c36
commit 55f26b3a92
14 changed files with 292 additions and 34 deletions
+9 -3
View File
@@ -1,20 +1,26 @@
using RemoteExec.Server.Configuration;
using RemoteExec.Server.Hubs;
using RemoteExec.Server.Middleware;
using RemoteExec.Server.Services;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddSignalR();
builder.Services.AddOpenApi();
builder.Services.AddHealthChecks();
// Add metrics broadcast background service
builder.Services.Configure<AuthenticationConfiguration>(builder.Configuration.GetSection("Authentication"));
builder.Services.Configure<ExecutionConfiguration>(builder.Configuration.GetSection("Execution"));
builder.Services.Configure<MetricsConfiguration>(builder.Configuration.GetSection("Metrics"));
builder.Services.AddHostedService<MetricsBroadcastService>();
WebApplication app = builder.Build();
app.UseMiddleware<ApiKeyAuthenticationMiddleware>();
app.MapHub<RemoteExecutionHub>("/remote");
// Configure the HTTP request pipeline.
@@ -23,7 +29,7 @@ if (app.Environment.IsDevelopment())
_ = app.MapOpenApi();
}
//app.UseHttpsRedirection();
app.UseHttpsRedirection();
app.UseAuthorization();