微軟宣布 .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.*.
? .NET 7 之前的 JWT 認證配置??
微軟表示他們已經收到反饋,在 ASP.NET Core 項目中配置 JWT, 是編寫 API 是最難的部分之一。它需要很多步驟,包括在啟動過程中添加中間件和配置服務。
.Net 團隊知道 JWT 配置在保護 API 方面的重要性,這就是為什么他們改進和簡化了在 ASP.NET Core 項目中配置 JWT 身份驗證的過程。
? 簡化的 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 配置,這很方便,這種改進可以真正的幫助開發人員節省配置項目的時間。
END
做了一個 .NET 的學習網站,內容涵蓋了分布式系統,數據結構與算法,設計模式,操作系統,計算機網絡等,以及工作推薦和面試經驗分享,歡迎來撩。