.Net Core 2.1添加Jwt进行Token认证
一、添加Nuget包
- 添加Nuget包:【System.IdentityModel.Tokens.Jwt】
注意Nuget包的版本问题,需要适合自己项目的版本
二、配置Startup文件
- 添加配置:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(Options =>
{
Options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
Options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
Options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
//添加一个(jwt)授权认证方式
.AddJwtBearer(WabApiAuthorizeAttribute.AuthenticationScheme, Options =>
{
//Options.RequireHttpsMetadata = false;//获取或设置元数据地址或权限是否需要HTTPS。默认为真。这应该只在开发环境中禁用。
Options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("laojiershishabilaide")),
ValidateIssuer = true,
ValidIssuer = "https://localhost:5001",
ValidateAudience = true,
ValidAudience = "https://localhost:5001",
ValidateLifetime = true,
ClockSkew = TimeSpan.Zero
};
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseAuthentication();
}
三、使用方法
在Controller中的方法前面添加 [WabApiAuthorize]
例子