从.NET Core 3.1到.NET 5,WWW-Authenticate头中的Realm已经被删除了,现在使用以下代码将认证方案名称添加到WWW-Authenticate头中:
services.AddAuthorization(options =>
{
options.DefaultPolicy = new AuthorizationPolicyBuilder()
.AddAuthenticationSchemes("Bearer") // 认证方案名称
.RequireAuthenticatedUser()
.Build();
});
services.AddAuthentication("Bearer")
.AddJwtBearer(options =>
{
options.Authority = "https://localhost:5001"; // 认证地址
options.Audience = "api1"; // 目标资源
});
services.AddAuthentication(options =>
{
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.Authority = "https://localhost:5001"; // 认证地址
options.Audience = "api1"; // 目标资源
});
services.AddAuthorization(options =>
{
options.DefaultPolicy = new AuthorizationPolicyBuilder(JwtBearerDefaults.AuthenticationScheme)
.RequireAuthenticatedUser()
.Build();
});