diff options
Diffstat (limited to 'src/Enmarcha.Backend/Program.cs')
| -rw-r--r-- | src/Enmarcha.Backend/Program.cs | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/src/Enmarcha.Backend/Program.cs b/src/Enmarcha.Backend/Program.cs index fc62add..785afe5 100644 --- a/src/Enmarcha.Backend/Program.cs +++ b/src/Enmarcha.Backend/Program.cs @@ -8,12 +8,13 @@ using Enmarcha.Backend.Services.Geocoding; using Enmarcha.Backend.Services.Processors; using Enmarcha.Backend.Services.Providers; using Microsoft.AspNetCore.HttpOverrides; -using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.WebUtilities; using Microsoft.EntityFrameworkCore; using OpenTelemetry.Logs; using OpenTelemetry.Resources; using OpenTelemetry.Trace; +using Enmarcha.Backend.Services.Processors.Normalisation; +using Enmarcha.Backend.Services.Processors.RealTime; var builder = WebApplication.CreateBuilder(args); @@ -146,14 +147,16 @@ builder.Services.AddDbContext<AppDbContext>(options => .UseCamelCaseNamingConvention(); }); -builder.Services.AddIdentityApiEndpoints<IdentityUser>() - .AddEntityFrameworkStores<AppDbContext>(); - var auth0Domain = builder.Configuration["Auth0:Domain"] ?? ""; var auth0ClientId = builder.Configuration["Auth0:ClientId"] ?? ""; -builder.Services.AddAuthentication() - .AddCookie("Backoffice", options => { +builder.Services.AddAuthentication(options => + { + options.DefaultScheme = "Backoffice"; + options.DefaultChallengeScheme = "Auth0"; + }) + .AddCookie("Backoffice", options => + { options.LoginPath = "/backoffice/auth/login"; options.Cookie.SameSite = SameSiteMode.None; options.Cookie.SecurePolicy = CookieSecurePolicy.Always; @@ -206,6 +209,14 @@ builder.Services.AddSingleton<FareService>(); builder.Services.AddScoped<IPushNotificationService, PushNotificationService>(); builder.Services.AddHostedService<AlertPhaseNotificationHostedService>(); +builder.Services.AddScoped<IArrivalsProcessor, FilterAndSortProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, NextStopsProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, ShapeProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, VitrasaNormalizationProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, XuntaNormalizationProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, TranviasNormalizationProcessor>(); +builder.Services.AddScoped<IArrivalsProcessor, ColourProcessor>(); + builder.Services.AddScoped<IArrivalsProcessor, VitrasaRealTimeProcessor>(); builder.Services.AddScoped<IArrivalsProcessor, CorunaRealTimeProcessor>(); builder.Services.AddScoped<IArrivalsProcessor, TussaRealTimeProcessor>(); @@ -213,10 +224,6 @@ builder.Services.AddScoped<IArrivalsProcessor, CtagShuttleRealTimeProcessor>(); builder.Services.AddScoped<IArrivalsProcessor, VitrasaUsageProcessor>(); builder.Services.AddScoped<IArrivalsProcessor, RenfeRealTimeProcessor>(); -builder.Services.AddScoped<IArrivalsProcessor, FilterAndSortProcessor>(); -builder.Services.AddScoped<IArrivalsProcessor, NextStopsProcessor>(); -builder.Services.AddScoped<IArrivalsProcessor, ShapeProcessor>(); -builder.Services.AddScoped<IArrivalsProcessor, FeedConfigProcessor>(); builder.Services.AddScoped<ArrivalsPipeline>(); // builder.Services.AddKeyedScoped<IGeocodingService, NominatimGeocodingService>("Nominatim"); @@ -235,8 +242,9 @@ var forwardedHeaderOptions = new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost }; + // Crucial: Clear the networks/proxies list if you are in a container or specific Linux setup -forwardedHeaderOptions.KnownNetworks.Clear(); +forwardedHeaderOptions.KnownIPNetworks.Clear(); forwardedHeaderOptions.KnownProxies.Clear(); app.UseForwardedHeaders(forwardedHeaderOptions); @@ -245,8 +253,6 @@ app.UseStaticFiles(); app.UseAuthentication(); app.UseAuthorization(); -app.MapGroup("/api/identity").MapIdentityApi<IdentityUser>(); - app.Use(async (context, next) => { if (context.Request.Headers.TryGetValue("X-Session-Id", out var sessionId)) |
