public async Task <IActionResult> ForgetPassword(string mobileNo) { try { var user = await _userManager.FindByNameAsync(mobileNo); //if (user == null || !(await _userManager.IsEmailConfirmedAsync(user))) if (user == null) { return(NotFound("Not Found")); } // visit https://go.microsoft.com/fwlink/?LinkID=532713 var code = await _userManager.GeneratePasswordResetTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ResetPassword", pageHandler: null, values: new { area = "Identity", code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync( user.Email, "Reset Password", $"Please reset your password by <a href='{System.Text.Encodings.Web.HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); string myJson = "{\"Message\": " + "\"Please check your email to reset your password.\"" + "}"; return(Ok(myJson)); } catch (Exception obj) { string ff = obj.Message.ToString(); } return(BadRequest("Bad Request")); }
public async Task <IActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var LoginUser = await Usermanager.GetUserAsync(User); var user = new ApplicationUser { FullName = model.FullName, UserName = model.Email, Email = model.Email, City = model.cityId, PhoneNumber = model.PhoneNumber, StreetAdress = model.StreetAdress, Photopath = util.ProcessPhotoproperty(model.Photo), isactive = true }; if (Signinmanager.IsSignedIn(User) && User.IsInRole("Employee")) { if (!User.HasClaim(claim => claim.Type == "Create User" && claim.Value == "true")) { return(Forbid()); } user.store_id = LoginUser.store_id; user.addedBy = LoginUser.Id; } var result = await Usermanager.CreateAsync(user, model.Password); var roles = await Usermanager.AddToRoleAsync(user, "User"); if (result.Succeeded) { var token = await Usermanager.GenerateEmailConfirmationTokenAsync(user); var confirmationLink = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, token = token }, Request.Scheme); string str = await ViewToStringRenderer.RenderViewToStringAsync(HttpContext.RequestServices, $"~/Views/Template/Email_Confirmation.cshtml", confirmationLink); await _emailSender.SendEmailAsync(user.Email, "Email Confirmation", str); ViewBag.PageTitle = "Email Confirmation"; ViewBag.Title = "Registration successful"; ViewBag.Message = "Before you can Login, please confirm your " + "email, by clicking on the confirmation link we have emailed you"; return(View("EmailConfirmation")); // await Signinmanager.SignInAsync(user, isPersistent: false); //return RedirectToAction("Index", "Home"); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } ViewBag.Stores = util.GetAllStores(); ViewBag.cities = util.getCities(); return(View(model)); } ViewBag.Stores = util.GetAllStores(); ViewBag.cities = util.getCities(); return(View(model)); }