Files
jsmr/JSMR.UI.Blazor/Program.cs
Brian Bicknell 9f30ef446a
Some checks failed
ci / build-test (push) Has been cancelled
ci / publish-image (push) Has been cancelled
Added authenication/authorization. Refactored api startup.
2026-02-16 00:20:02 -05:00

49 lines
1.6 KiB
C#

using Bit.BlazorUI;
using JSMR.UI.Blazor;
using JSMR.UI.Blazor.Services;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using MudBlazor.Services;
using Radzen;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
string apiBase = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress;
Console.WriteLine(apiBase);
// Old way
//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(apiBase) });
// Register the handler
builder.Services.AddTransient<IncludeRequestCredentialsMessageHandler>();
//builder.Services.AddSingleton<TokenStore>();
//builder.Services.AddTransient<JwtAuthorizationMessageHandler>();
// Register a named client that uses the handler
builder.Services.AddHttpClient("Api", client =>
{
client.BaseAddress = new Uri(apiBase);
})
.AddHttpMessageHandler<IncludeRequestCredentialsMessageHandler>();
//.AddHttpMessageHandler<JwtAuthorizationMessageHandler>();
// Keep your existing pattern (inject HttpClient) by mapping it to the named client
builder.Services.AddScoped(sp =>
sp.GetRequiredService<IHttpClientFactory>().CreateClient("Api")
);
builder.Services.AddScoped<AuthenticationClient>();
builder.Services.AddScoped<SessionState>();
builder.Services.AddMudServices();
builder.Services.AddRadzenComponents();
builder.Services.AddBitBlazorUIServices();
builder.Services.AddScoped<VoiceWorksClient>();
builder.Services.AddScoped<ILookupDataService, LookupDataService>();
await builder.Build().RunAsync();