微软宣布 .NET 7 preview5 有一些较大的改进, 包括 JWT 身份验证的简化和自动配置。
我安装了 preview 5 尝试了新的 JWT 身份配置。如果您想把现有的项目更新到 .Net 7 preview 5, 下面是一个快速更新的命令。
Update all Microsoft.AspNetCore.* package references to 7.0.0-preview.5.*.
Update all Microsoft.Extensions.* package references to 7.0.0-preview.5.*.
微软表示他们已经收到反馈,在 ASP.NET Core 项目中配置 JWT, 是编写 API 是最难的部分之一。它需要很多步骤,包括在启动过程中添加中间件和配置服务。
.Net 团队知道 JWT 配置在保护 API 方面的重要性,这就是为什么他们改进和简化了在 ASP.NET Core 项目中配置 JWT 身份验证的过程。
WebApplicationBuilder 添加了一个新的 Authentication 属性,然后可以直接调用 AddJwtBearer() 方法,如下
var builder = WebApplication.CreateBuilder(args);
builder.Authentication.AddJwtBearer();
var app = builder.Build();
使用这个新属性设置 JWT 身份验证会自动添加所需的中间件,不需要其他额外的代码。
最重要的是,现在可以直接在 appsettings.json 配置 JWT,你可以非常方便地配置多个环境。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Authentication": {
"DefaultScheme" : "JwtBearer",
"Schemes": {
"JwtBearer": {
"Audiences": [ "http://localhost:5000",
"https://localhost:5001" ],
"ClaimsIssuer": "user-jwt-here"
}
}
}
}
上面就是 .NET 7 preview 5 中简化的 JWT 配置,这很方便,这种改进可以真正的帮助开发人员节省配置项目的时间。