Claude-skill-registry bff-setup
Configure affolterNET.Web.Bff service registration and middleware pipeline. Use when setting up AddBffServices, ConfigureBffApp, or configuring the BFF middleware order.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/bff-setup" ~/.claude/skills/majiayu000-claude-skill-registry-bff-setup && rm -rf "$T"
manifest:
skills/data/bff-setup/SKILL.mdsource content
BFF Setup
Configure the affolterNET.Web.Bff service registration and middleware pipeline.
For complete reference, see Library Guide.
Quick Start
// Program.cs var builder = WebApplication.CreateBuilder(args); // Step 1: Register services var options = builder.Services.AddBffServices( builder.Environment.IsDevelopment(), builder.Configuration, opts => { opts.EnableSecurityHeaders = true; opts.ConfigureBff = bff => { bff.AuthMode = AuthenticationMode.Authorize; bff.EnableSessionManagement = true; }; }); var app = builder.Build(); // Step 2: Configure middleware app.ConfigureBffApp(options); app.Run();
Configuration Options
BffAppOptions
| Property | Type | Description |
|---|---|---|
| bool | Enable security headers middleware |
| Action<BffOptions> | Configure BFF-specific options |
| Action<IApplicationBuilder> | Add custom middleware after routing |
| Action<IApplicationBuilder> | Add custom middleware before endpoints |
BffOptions
| Property | Type | Default | Description |
|---|---|---|---|
| AuthenticationMode | | Authentication mode |
| bool | | Enable session management |
Middleware Pipeline
The
ConfigureBffApp configures middleware in this order:
- Exception Handling
- Security Headers Middleware
- HTTPS Redirection
- Static Files
- Swagger/OpenAPI
- Routing
- Custom Middleware (after routing hook)
- CORS
- Antiforgery (CSRF protection)
- Authentication & Authorization
- Token Refresh Middleware
- RPT Middleware
- NoUnauthorizedRedirect Middleware (API routes)
- Antiforgery Token Middleware
- Custom Middleware (before endpoints hook)
- API 404 Handling
- Endpoint Mapping (Razor Pages, Controllers, YARP, Fallback)
Common Patterns
Development vs Production
var options = builder.Services.AddBffServices( builder.Environment.IsDevelopment(), // isDev flag builder.Configuration, opts => { // Development-specific config happens automatically });
Adding Custom Middleware
var options = builder.Services.AddBffServices(isDev, config, opts => { opts.ConfigureAfterRoutingCustomMiddleware = app => { app.UseMiddleware<TenantMiddleware>(); }; opts.ConfigureBeforeEndpointsCustomMiddleware = app => { app.UseMiddleware<AuditMiddleware>(); }; });
With Session Management
var options = builder.Services.AddBffServices(isDev, config, opts => { opts.ConfigureBff = bff => { bff.EnableSessionManagement = true; }; });