public async Task <ApiResponse> AuthenticateAsync(AuthenticateRequest request) { var user = await _userRepository.GetByEmailAsync(request.Email); if (user == null) { AddError("Usuário não encontrado"); return(Response); } if (PasswordUtil.PasswordIsCorrect(user.Password.Split(".")[1], user.Password.Split(".")[2], request.Password)) { var token = JwtUtil.GenarateToken(user); var tokenResponse = new Infra.Data.ValueObjects.TokenResponse { User = user, Token = token.Token, Expiration = token.Expiration }; Response.Data = _mapper.Map <TokenResponse>(tokenResponse); return(Response); } AddError("Credências inválidas"); return(Response); }