public async Task <IActionResult> Login(string email, string password, string remember, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; var user = _userManager.FindByNameAsync(email).Result; if (user != null) { if (!_userManager.IsEmailConfirmedAsync (user).Result) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, token = code }, protocol: HttpContext.Request.Scheme); var model = new ViewModels.emailVerification { UserName = user.FirstName + " " + user.LastName, Link = callbackUrl, Email = user.UserName }; string viewHtml = await this.RenderViewAsync("emailVerification", model); await SendEmail.SendEmailAsync(user.UserName, viewHtml); //await SendEmail.SendEmailAsync(email, "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>"); TempData["msg"] = "Need Email Confirmation. A Confirmation email already sent." + Admin.EmailNotice; return(View()); } } var result = await _signInManager.PasswordSignInAsync(email, password, true, lockoutOnFailure : false); if (result.Succeeded) { //_logger.LogInformation(1, "User logged in."); return(RedirectToAction(nameof(LoginController.Home), "Login")); //return LocalRedirect(returnUrl); } //if (result.RequiresTwoFactor) //{ // return RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = true }); //} //if (result.IsLockedOut) //{ // //_logger.LogWarning(2, "User account locked out."); // return View("Lockout"); //} //else //{ // ModelState.AddModelError(string.Empty, "Invalid login attempt."); // return View(model); //} TempData["msg"] = "Invalid login attempt."; return(View()); }
public async Task <IActionResult> ReSendEmail(string email) { var user = _userManager.FindByNameAsync(email).Result; var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, token = code }, protocol: HttpContext.Request.Scheme); var resendUrl = Url.Action("ReSendEmail", "Account", new { userId = user.Id }, protocol: HttpContext.Request.Scheme); var model = new ViewModels.emailVerification { UserName = user.FirstName + " " + user.LastName, Link = callbackUrl, Email = user.UserName }; string viewHtml = await this.RenderViewAsync("emailVerification", model); await SendEmail.SendEmailAsync(user.UserName, viewHtml); //await SendEmail.SendEmailAsync(email, "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>"); TempData["msg"] = "A Confirmation email already sent." + Admin.EmailNotice; return(RedirectToAction(nameof(AccountController.Login), "Account")); }
public async Task <IActionResult> Register(string email, string password) { using (var client = new HttpClient()) { var response = await client.GetAsync("https://disposable.debounce.io/?email=" + email); using (var content = response.Content) { var json = await content.ReadAsStringAsync(); dynamic rslt = JsonConvert.DeserializeObject(json); bool v = rslt.disposable; if (v == true) { TempData["msg"] = "Temporary Email Not Accepted"; return(View()); } } } var user = new ApplicationUser { UserName = email, Email = email }; var result = await _userManager.CreateAsync(user, password); if (result.Succeeded) { // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713 // Send an email with this link var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, token = code, referral = Request.Query["referral"].ToString() }, protocol: HttpContext.Request.Scheme); //var resendUrl = Url.Action("ReSendEmail", "Account", new { email }, protocol: HttpContext.Request.Scheme); var model = new ViewModels.emailVerification { UserName = user.FirstName + " " + user.LastName, Link = callbackUrl, Email = user.UserName }; string viewHtml = await this.RenderViewAsync("emailVerification", model); await SendEmail.SendEmailAsync(user.UserName, viewHtml); //await SendEmail.SendEmailAsync(email, "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>"); TempData["msg"] = "A Confirmation email already sent...Check your Email." + Admin.EmailNotice; return(RedirectToAction(nameof(AccountController.Login), "Account")); //await _signInManager.SignInAsync(user, isPersistent: false); //_logger.LogInformation(3, "User created a new account with password."); //return RedirectToAction(nameof(HomeController.Index), "Home"); //return Content("Please check email to confirm your account "); } else { TempData["msg"] = result.Errors.First().Description; //Newtonsoft.Json.JsonConvert.SerializeObject(result.Errors); } //AddErrors(result); return(View()); }