Franz.Common.Http.Bootstrap
3.0.0
dotnet add package Franz.Common.Http.Bootstrap --version 3.0.0
NuGet\Install-Package Franz.Common.Http.Bootstrap -Version 3.0.0
<PackageReference Include="Franz.Common.Http.Bootstrap" Version="3.0.0" />
<PackageVersion Include="Franz.Common.Http.Bootstrap" Version="3.0.0" />
<PackageReference Include="Franz.Common.Http.Bootstrap" />
paket add Franz.Common.Http.Bootstrap --version 3.0.0
#r "nuget: Franz.Common.Http.Bootstrap, 3.0.0"
#:package Franz.Common.Http.Bootstrap@3.0.0
#addin nuget:?package=Franz.Common.Http.Bootstrap&version=3.0.0
#tool nuget:?package=Franz.Common.Http.Bootstrap&version=3.0.0
Franz.Common.Http.Bootstrap
Composition root for the standard Franz ASP.NET Core HTTP services and middleware pipeline.
Overview
This package provides two explicit entry points: AddHttpArchitecture(...) for service registration and UseHttpArchitecture() for middleware composition. It centralizes the framework's HTTP defaults without silently configuring an identity provider or tenant membership policy.
Installation
dotnet add package Franz.Common.Http.Bootstrap
Service registration
using Franz.Common.Http.Bootstrap.Extensions;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpArchitecture(
builder.Environment,
builder.Configuration,
typeof(Program).Assembly);
The registration composes common architecture services, HTTP controllers, exact-origin CORS, forwarded-header support, serialization, error strategies, JWT authentication entry-point, header context, API documentation, HTTP identity context, tenant resolution, serializers, and health checks.
Authentication is explicit
AddHttpArchitecture calls AddFranzAuthentication() to expose the authentication builder, but it does not configure a JWT bearer handler or choose an identity provider. Configure the intended scheme explicitly. For symmetric JWTs:
builder.Services
.AddFranzAuthentication()
.ConfigureJwtBearer(builder.Configuration);
For OIDC, SAML2, WS-Federation, or Keycloak, use the corresponding provider registration from Franz.Common.Http.Identity. Do not register multiple competing default authentication schemes unless the application explicitly composes them.
Tenant membership is explicit
The bootstrapper registers AddFranzMultiTenancy(), but the application must provide its ITenantStore, at least one ITenantResolver when tenant resolution is required, and an ITenantRequestAuthorizer for authenticated tenant membership. The built-in GUID-claim authorizer is opt-in through AddTenantClaimsAuthorizer(...).
Middleware pipeline
var app = builder.Build();
app.UseHttpArchitecture();
app.Run();
UseHttpArchitecture() composes exception handling, forwarded headers, certificate forwarding, localization, routing, CORS, authentication, tenant resolution, authorization, controller endpoints, API documentation, and health checks in the required order.
Do not add a second UseFranzMultiTenancy() call when using this composed pipeline. The composed endpoint mapping requires authorization for mapped controllers; configure endpoint policies and anonymous endpoints deliberately.
Configuration boundaries
Corsis a semicolon-separated list of exact HTTP/HTTPS origins. Wildcards, paths, query strings, fragments, and credentials in an origin are rejected. No configured origins means no cross-origin access is granted.- Forwarded headers preserve ASP.NET Core trusted-proxy/network restrictions. Add the actual reverse proxies explicitly through
ForwardedHeadersOptions; do not trust arbitrary senders. - Symmetric JWT configuration requires issuer, audience, and a secret signing key of at least 32 UTF-8 bytes. Keep secrets in a secret manager.
- Tenant resolution exclusions are explicit path prefixes; excluded endpoints must be secured independently.
Refit
Refit is not automatically discovered or registered by AddHttpArchitecture. Add the Franz.Common.Http.Refit integration and register typed clients explicitly using its API.
Related packages
Franz.Common.Http, Franz.Common.Http.Authentication, Franz.Common.Http.Identity, Franz.Common.Http.MultiTenancy, and Franz.Common.Http.Documentation.
License
MIT. See the repository LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Franz.Common.Bootstrap (>= 3.0.0)
- Franz.Common.Http (>= 3.0.0)
- Franz.Common.Http.Authentication (>= 3.0.0)
- Franz.Common.Http.Documentation (>= 3.0.0)
- Franz.Common.Http.Headers (>= 3.0.0)
- Franz.Common.Http.Identity (>= 3.0.0)
- Franz.Common.Http.MultiTenancy (>= 3.0.0)
- SharpCompress (>= 0.50.7)
- Snappier (>= 1.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 0 | 11/10/2026 |
| 2.3.4 | 334 | 11/1/2026 |
| 2.3.3 | 307 | 10/28/2026 |
| 2.3.2 | 103 | 10/27/2026 |
| 2.3.1 | 154 | 10/26/2026 |
| 2.3.0 | 239 | 7/21/2026 |
| 2.2.19 | 135 | 7/19/2026 |
| 2.2.18 | 126 | 7/19/2026 |
| 2.2.17 | 133 | 7/12/2026 |
| 2.2.16 | 134 | 7/2/2026 |
| 2.2.15 | 138 | 6/29/2026 |
| 2.2.14 | 131 | 6/29/2026 |
| 2.2.13 | 138 | 6/29/2026 |
| 2.2.12 | 127 | 6/28/2026 |
| 2.2.11 | 133 | 6/28/2026 |
| 2.2.10 | 125 | 6/28/2026 |
| 2.2.9 | 141 | 6/28/2026 |
| 2.2.8 | 139 | 6/28/2026 |
| 2.2.7 | 138 | 6/7/2026 |
| 2.2.6 | 141 | 6/6/2026 |