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