private async Task <string> GenerateToken(UsuarioDataDto user)
        {
            var secretKey = _configuration.GetValue <string>("SecretKey");

            var key = Encoding.ASCII.GetBytes(secretKey);

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, user.usuario.Dni),
                new Claim(ClaimTypes.Name, user.usuario.Nombre),
                new Claim(ClaimTypes.Surname, user.usuario.ApellidoPaterno)
            };
            //var roles = await _userManager.GetRolesAsync(user);

            //foreach (var role in roles)
            //{
            //    claims.Add(
            //        new Claim(ClaimTypes.Role, role)
            //        );
            //}

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var createdToken = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(createdToken));
        }
 public ActionResult <UsuarioDataDto> ValidarIngreso([FromBody] UsuarioLoginDto UsuarioLogin)
 {
     try
     {
         UsuarioDataDto usuarioData = _usuarioService.GetDatosUsuario(UsuarioLogin.Dni, UsuarioLogin.Contrasena);
         var            usuarioGen  = new
         {
             usuariotoken = GenerateToken(usuarioData).Result,
             usuario      = usuarioData
         };
         return(Ok(usuarioGen));
     }
     catch (UserLoginIncorrectException UserIncorrect)
     {
         return(BadRequest(UserIncorrect.ExceptionDto));
     }
     catch (UserLoginNotFoundException UserNotFound)
     {
         return(BadRequest(UserNotFound.ExceptionDto));
     }
 }