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);