public async Task <IActionResult> Login(LoginViewModel model)
        {
            string recaptcha = HttpContext.Request.Form["g-recaptcha-response"];

            if (string.IsNullOrEmpty(recaptcha))
            {
                AddMensagemErro("ReCaptcha inválido");
                return(View(model));
            }
            else if (!GoogleReCaptchaService.IsReCaptchaValido(recaptcha))
            {
                AddMensagemErro("ReCaptcha inválido, Tente novamente!");
                return(View(model));
            }

            if (ModelState.IsValid)
            {
                var usuario = await _usuarioService.PesquisarUsuarioPeloEmail(model.Email);

                if (usuario != null)
                {
                    if (!usuario.EmailConfirmed)
                    {
                        AddMensagemAlerta("Confirme seu e-mail para poder fazer o login");
                    }
                    else
                    {
                        if (SecurityUtil.CompararSenhas(usuario, model.Senha))
                        {
                            await _usuarioService.Login(usuario, false);

                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Senha inválida");
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Email inválido");
                }
            }
            return(View("Login", model));
        }
 public HomeController(GoogleReCaptchaService service)
 {
     _service = service;
 }