public async Task <IActionResult> AutenticarUsuario([FromBody] RequestLoginUsuario usuario) =>
 await TratarResultadoAsync(async() =>
 {
     var resultado = await _usuarioService.AutenticarUsuario(usuario);
     return(new ObjectResult(resultado)
     {
         StatusCode = resultado.StatusCode
     });
 });
        public UsuarioControllerTest()
        {
            _fixture = new Fixture();

            _request      = _fixture.Create <RequestUsuario>();
            _requestLogin = _fixture.Create <RequestLoginUsuario>();
            _response     = _fixture.Create <BaseResponse>();
            _service      = Substitute.For <IUsuarioService>();
            _logger       = Substitute.For <ILogger <UsuarioController> >();

            _controller = new UsuarioController(_service, _logger);
        }
Esempio n. 3
0
 public UsuarioServiceTest()
 {
     _fixture         = new Fixture();
     _logger          = Substitute.For <ILogger <UsuarioService> >();
     _mapper          = Substitute.For <IMapper>();
     _repository      = Substitute.For <IUsuarioRepository>();
     _configuration   = Substitute.For <IConfiguration>();
     _baseResponse    = _fixture.Create <BaseResponse>();
     _usuario         = _fixture.Create <Usuario>();
     _listaUsuario    = _fixture.Create <IEnumerable <Usuario> >();
     _requestUsuario  = _fixture.Create <RequestUsuario>();
     _requestLogin    = _fixture.Create <RequestLoginUsuario>();
     _responseUsuario = _fixture.Create <ResponseUsuario>();
     _service         = new UsuarioService(_repository, _mapper, _logger, _configuration);
 }
Esempio n. 4
0
        public async Task <BaseResponse> AutenticarUsuario(RequestLoginUsuario request)
        {
            try
            {
                _logger.LogInformation("Inicio autenticação do usuário");

                var senhaEncrypt = HelpExtensions.Encrypt(request.Senha);

                var usuario = await _usuarioRepository.ObterUsuario(request.Email, senhaEncrypt);

                var tokenHandler    = new JwtSecurityTokenHandler();
                var key             = Encoding.ASCII.GetBytes(_configuration.GetValue <string>("Secret"));
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[] {
                        new Claim(ClaimTypes.Name, usuario.Nome.ToString()),
                        new Claim(ClaimTypes.Email, usuario.Email.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddHours(2),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
                };

                var token = tokenHandler.CreateToken(tokenDescriptor) as JwtSecurityToken;

                ResponseLoginUsuario response = new ResponseLoginUsuario();
                response.IdUsuario = usuario.Id;
                response.Token     = token.RawData;

                _logger.LogInformation("Fim da autenticação do usuário");

                return(await ObterStatusCode("Autenticação realizada com sucesso.", StatusCodes.Status200OK, response));
            }
            catch (Exception ex)
            {
                return(await ObterStatusCode("Erro ao autenticar o usuário", StatusCodes.Status400BadRequest, null, ex));
            }
        }