我从 3.1 版开始使用 .NET Core API 授权,在我将项目升级到 .NET 5 之前一直运行良好。更新后,我得到了一个NullReferenceException.
这是来自Startup.cs的代码:
配置服务
services.AddDbContext(options =>
options.UseInMemoryDatabase("Databaase"));
services.AddDefaultIdentity()
.AddEntityFrameworkStores();
services.AddIdentityServer()
.AddApiAuthorization<ApplicationUser, ApplicationDbContext>();
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.RequireHttpsMetadata = false;
options.SaveToken = true;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateIssuerSigningKey = true,
ValidIssuer = configuration["Jwt:Issuer"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["Jwt:SecretKey"])),
ValidAudience = configuration["Jwt:Audience"],
ValidateAudience = true,
ValidateLifetime = true,
ClockSkew = TimeSpan.Zero // Override the default clock skew of 5 mins
};
});
Run Code Online (Sandbox Code Playgroud)
配置
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
Run Code Online (Sandbox Code Playgroud)
这是我的 …