Я пытаюсь изучить ASP.NET.
Есть курс, которому я следую, и я не могу понять несколько вещей.
Вот код в контроллере:
[HttpPost("login")]
public async Task<IActionResult> Login(UserForLoginDto userForLoginDto)
{
var userFromRepo = await _repo.Login(userForLoginDto.Username.ToLower(), userForLoginDto.Password);
if (userFromRepo == null)
{
return Unauthorized();
}
var claims = new[]
{
new Claim(ClaimTypes.NameIdentifier, userFromRepo.Id.ToString()),
new Claim(ClaimTypes.Name, userFromRepo.Username)
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("AppSetings:Token").Value));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);
v
var tokenDescriptor = new SecurityTokenDescriptor{
Subject = new ClaimsIdentity(claims),
Expires = DateTime.Now.AddDays(1),
SigningCredentials = creds
};
var tokenHandler = new JwtSecurityTokenHandler();
var token = tokenHandler.CreateToken(tokenDescriptor);
return Ok(new {
token = tokenHandler.WriteToken(token)
});
}
Я не могу понять массив утверждений. Я искал в Интернете некоторое время, и я не понимаю. Зачем мне это нужно и как это работает?
Я нашел это весьма полезным, но я до сих пор не
Что такое утверждения в ASP .NET Identity
полностью понять это.
Может ли кто-нибудь помочь мне получить эту концепцию? Зачем нам это нужно и как это работает?
Спасибо.