无法使用.net核心中的Jwt身份验证来装饰我的应用
我关注了this tutorial!
启动
RSA publicRsa = RSA.Create();
publicRsa.FromXmlFile(Path.Combine(Directory.GetCurrentDirectory(),
"Keys",
Configuration.GetValue<String>("Tokens:PublicKey")
));
RsaSecurityKey signingKey = new RsaSecurityKey(publicRsa);
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(config =>
{
config.RequireHttpsMetadata = false;
config.SaveToken = true;
config.TokenValidationParameters = new TokenValidationParameters()
{
IssuerSigningKey = signingKey,
ValidateAudience = false,
ValidAudience = Configuration["Tokens:Audience"],
ValidateIssuer = true,
ValidIssuer = Configuration["Tokens:Issuer"],
ValidateLifetime = true,
ValidateIssuerSigningKey = true
};
});
this is my appsettings
"Tokens": {
"PrivateKey": "private.xml",
"PublicKey": "public.xml",
"Lifetime": "86400",
"Issuer": "http://localhost:44330/",
"Audience": "http://localhost:44330/"
}
我可以使用令牌注册并创建用户 我也可以使用以下用户名和密码登录 创建的用户,但是当我尝试使用此身份验证来授权或不授予某些控制器时,我会收到该错误