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