一 Cookie认证

1  services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();

2  app.UseAuthentication();

3 Microsoft.AspNetCore.Authorization.AuthorizeAttribute

var claims = new List<Claim>()
{
new Claim (ClaimTypes.Role,"admin"),
new Claim (ClaimTypes.Name,account),
};

var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
this.HttpContext.SignInAsync(new ClaimsPrincipal(identity));

二 Jwt认证

services.AddAuthentication(option =>
{
option.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
option.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(o =>
{
o.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
{
ValidIssuer = settings.Issurer,
ValidAudience = settings.Audience,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(settings.SecretKey)),
};
});

2  app.UseAuthentication();

3  Microsoft.AspNetCore.Authorization.AuthorizeAttribute

var claims = new List<Claim>
{
new Claim(ClaimTypes.Name,"yan"),
new Claim (ClaimTypes.Role,"admin"),
};

var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("SecretKey"));

var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

var token = new JwtSecurityToken("Issurer", "Audience", claims, DateTime.Now, DateTime.Now.AddMinutes(30), creds);

return Ok(new
{
token = new JwtSecurityTokenHandler().WriteToken(token),
});
}

 

5 header中添加 Authorization : bearer 获得的token

相关文章:

  • 2022-12-23
  • 2022-02-12
  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
  • 2021-12-04
猜你喜欢
  • 2021-09-30
  • 2021-09-15
  • 2022-12-23
  • 2021-11-26
  • 2021-08-02
  • 2022-12-23
  • 2022-01-13
相关资源
相似解决方案