public async Task <IActionResult> Login([FromBody] UserLoginRequestVM userLoginRequestVM) { var result = await _authenticationService.Login(userLoginRequestVM); if (result == null) { return(Unauthorized()); } var claims = new[] { new Claim(ClaimTypes.NameIdentifier, result.Hkey), new Claim(ClaimTypes.Name, result.Alias), new Claim(ClaimTypes.Role, result.IdRol.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration.GetSection("AppSettings:Token").Value)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddDays(1), SigningCredentials = credentials }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(Ok(new { token = tokenHandler.WriteToken(token) })); }
public async Task <UserVM> Login(UserLoginRequestVM user) { var userFromRepo = await _authenticationRepository.GetUserByUsername(user.Username); if (userFromRepo == null) { return(default);