用途:为 ASP.NET Core 应用提供身份认证与授权实现指导,覆盖 API 与 Web 应用两类场景。
主要能力:JWT 持有者令牌认证与令牌生成(推荐使用 Microsoft.IdentityModel.JsonWebTokens 的 JsonWebTokenHandler,而非旧版 JwtSecurityTokenHandler);OpenID Connect 外部身份提供方接入;ASP.NET Identity 用户管理(密码哈希、锁定、双因素、邮件确认,.NET 10 起内置 passkey/WebAuthn 无密码登录);基于策略的授权,支持自定义 IAuthorizationRequirement 与 AuthorizationHandler;端点保护(RequireAuthorization、AllowAnonymous);通过 ClaimsPrincipal 读取当前用户。
使用方式:在 Program.cs 中调用 AddAuthentication 与 AddJwtBearer 配置令牌校验参数(Issuer、Audience、Lifetime、签名密钥、ClockSkew);用 AddAuthorizationBuilder 定义策略;用 MapGroup 与 RequireAuthorization 保护端点。密钥应使用 dotnet user-secrets set "Jwt:Key" "..." 在开发环境管理,生产环境用环境变量或密钥保管库。
适用场景:REST API 用 JWT,Blazor Server/MVC 用 Cookie,外部身份提供方用 OpenID Connect,用户注册登录用 ASP.NET Identity,权限检查用策略授权,多租户 API 用租户声明,API 间通信用客户端凭据,简单 API 密钥用自定义 AuthenticationHandler。
限制与反模式:避免到处使用角色字符串、避免把密钥写入 appsettings.json、不要关闭令牌校验(ValidateIssuer、ValidateAudience、ValidateLifetime 等)。具体版本兼容性与部署细节资料未提供。