Agent skill
bff-setup
Configure affolterNET.Web.Bff service registration and middleware pipeline. Use when setting up AddBffServices, ConfigureBffApp, or configuring the BFF middleware order.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/bff-setup
SKILL.md
BFF Setup
Configure the affolterNET.Web.Bff service registration and middleware pipeline.
For complete reference, see Library Guide.
Quick Start
csharp
// 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 |
|---|---|---|
EnableSecurityHeaders |
bool | Enable security headers middleware |
ConfigureBff |
Action<BffOptions> | Configure BFF-specific options |
ConfigureAfterRoutingCustomMiddleware |
Action<IApplicationBuilder> | Add custom middleware after routing |
ConfigureBeforeEndpointsCustomMiddleware |
Action<IApplicationBuilder> | Add custom middleware before endpoints |
BffOptions
| Property | Type | Default | Description |
|---|---|---|---|
AuthMode |
AuthenticationMode | None |
Authentication mode |
EnableSessionManagement |
bool | false |
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
csharp
var options = builder.Services.AddBffServices(
builder.Environment.IsDevelopment(), // isDev flag
builder.Configuration,
opts => {
// Development-specific config happens automatically
});
Adding Custom Middleware
csharp
var options = builder.Services.AddBffServices(isDev, config, opts => {
opts.ConfigureAfterRoutingCustomMiddleware = app => {
app.UseMiddleware<TenantMiddleware>();
};
opts.ConfigureBeforeEndpointsCustomMiddleware = app => {
app.UseMiddleware<AuditMiddleware>();
};
});
With Session Management
csharp
var options = builder.Services.AddBffServices(isDev, config, opts => {
opts.ConfigureBff = bff => {
bff.EnableSessionManagement = true;
};
});
Didn't find tool you were looking for?