用途:为 ASP.NET Core API 提供认证、授权与安全实现模式,覆盖 ASP.NET Core Identity 配置、OAuth 2.0/OIDC 集成、JWT Bearer 令牌、通行密钥(WebAuthn)、CORS 策略、CSP 响应头与限流。
主要能力:Identity 提供用户管理、密码哈希、基于角色的授权与双因素认证;MapIdentityApi<TUser>() 在 .NET 8+ 提供 /register、/login、/refresh、/confirmEmail、/manage/info、/manage/2fa 等令牌端点。OIDC 中间件可对接 Entra ID、Auth0、Okta、Keycloak;JWT Bearer 用于 API 场景,需配置 Authority、Audience 与 TokenValidationParameters。策略授权支持 RequireRole、RequireClaim 与回退策略。.NET 10 提供内建通行密钥(WebAuthn/FIDO2)支持,通过 AddPasskeys() 启用,含注册与登录挑战流程。CORS 使用命名显式策略,避免生产使用 AllowAnyOrigin()。CSP 通过中间件设置响应头,可为 API 与含 HTML 响应场景分别配置。限流支持固定窗口、滑动窗口、令牌桶与并发限制,并可基于用户分区。
必要用法:中间件顺序为 UseAuthentication() 先于 UseAuthorization(),UseCors() 先于 UseAuthorization(),UseRateLimiter() 位于 UseRouting() 之后、UseAuthorization() 与端点映射之前。JWT 密钥不可硬编码,开发用 user secrets,生产用环境变量或托管标识。ClockSkew 建议 1–2 分钟,避免设为 TimeSpan.Zero。认证端点应启用限流以防暴力破解。
适用场景与限制:适用于自行管理账户或委托外部身份提供方的 ASP.NET Core API。范围不含 OWASP Top 10 缓解、密钥管理、密码学算法选择与 Blazor 认证 UI,分别参见 dotnet-security-owasp、dotnet-secrets-management、dotnet-cryptography、dotnet-blazor-auth。通行密钥需 .NET 10;Identity API 端点与 JWT、CORS、限流基线为 .NET 8+。其余细节暂未提供。