using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Identity.Web; using Registration.Data; using Registration.Mock; var host = new HostBuilder() .ConfigureFunctionsWebApplication() .ConfigureServices((context, services) => { services.AddApplicationInsightsTelemetryWorkerService(); services.ConfigureFunctionsApplicationInsights(); // ============================================================= // JWT Authentication — Entra External ID (CIAM) // Validates Bearer tokens issued by usimclients.ciamlogin.com. // AzureAd config is in local.settings.json (dev) or Function App // Configuration (production) using AzureAd__ prefix. // ============================================================= services.AddAuthentication() .AddMicrosoftIdentityWebApi(context.Configuration.GetSection("AzureAd")); services.AddAuthorization(); // ============================================================= // Data layer — SqlDataService backed by dbRegistration. // Connection string: ConnectionStrings:Sql in local.settings.json // or the "Sql" connection string in Function App Configuration. // ============================================================= services.AddSingleton(); services.AddSingleton(); }) .Build(); host.Run();