要解决"AspNet WebApi核心JWT令牌未进行身份验证"的问题,你可以按照以下步骤进行操作:
Microsoft.AspNetCore.Authentication.JwtBearer
包,以及在Startup.cs
文件的ConfigureServices
方法中添加以下代码:services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "your_issuer",
ValidAudience = "your_audience",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("your_security_key"))
};
});
确保将your_issuer
,your_audience
和your_security_key
替换为你的实际值。
Configure
方法中启用身份验证中间件:app.UseAuthentication();
[Authorize]
属性,以确保只有经过身份验证的用户才能访问它们。[Authorize]
public class MyController : ControllerBase
{
// Controller actions
}
这样,当请求到达控制器或方法时,它们将被要求提供有效的JWT令牌进行身份验证。
请注意,这只是一个基本的示例,你可能需要根据你的实际需求进行适当的修改。