/// <summary> /// It will check whether the Provided Email id is present in the database or not. /// </summary> /// <param name="forgetPassword">Email-Id</param> /// <returns>It return the Response Model to be Send as Response</returns> public UserResponseModel ForgetPassword(ForgetPasswordRequest forgetPassword) { try { var data = context.UserDetails.FirstOrDefault(user => user.EmailId == forgetPassword.EmailId); if (data != null) { var userData = new UserResponseModel() { UserId = data.UserId, FirstName = data.FirstName, LastName = data.LastName, EmailId = data.EmailId, ProfilePic = data.ProfilePic, Type = data.Type, IsActive = data.IsActive, UserRole = data.UserRole, CreatedAt = data.CreatedAt, ModifiedAt = data.ModifiedAt }; return(userData); } return(null); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <BaseResponse <bool> > ForgotPassword(string email, string username) { var data = new BaseResponse <bool>(); HttpClient client = new HttpClient(); var uri = new Uri(Constants.ForgotPassword); var request = new ForgetPasswordRequest(); request.Email = email; request.Username = username; var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); try { HttpResponseMessage response = await client.PostAsync(uri, content); HttpStatusCode code = response.StatusCode; if (code == HttpStatusCode.OK) { var result = await response.Content.ReadAsStringAsync(); data = JsonConvert.DeserializeObject <BaseResponse <bool> >(result); } } catch (Exception) { throw; } return(data); }
public IActionResult ForgetPassword([FromBody] ForgetPasswordRequest forgetPassword) { try { if (!ValidateForgetPasswordRequest(forgetPassword)) { return(BadRequest(new { Message = "Please input the Data Properly." })); } UserResponseModel data = _userBusiness.ForgetPassword(forgetPassword); bool status = false; string message; string token; if (data == null) { message = "No User Found with this Email-Id: " + forgetPassword.EmailId; return(Ok(new { status, message })); } else { token = GenerateToken(data, _forgetPassword); MsmqSender.SendToMsmq(forgetPassword.EmailId, token); status = true; message = "An Password Reset Link has been Send to the above Email"; return(Ok(new { status, message, token })); } } catch (Exception e) { return(BadRequest(new { e.Message })); } }
public ActionResult ForgetPassword([FromBody] ForgetPasswordRequest request) { var control = userRepo.FirstOrDefaultBy(x => x.Username == request.Username && x.Email == request.Email); string Email = request.Email; var response = new BaseResponse <bool>(); if (control == null) { response.SetMessage("Sistemde kayıtlı böyle bir kullanıcı bulunamadı."); return(Ok(response)); } var forgotPassword = new ForgatPassword(); forgotPassword.UserID = control.Id; forgotPassword.Key = Cryptography.GenerateKey(32); forgatPasswordRepo.Add(forgotPassword); var Recipients = new Dictionary <string, string>(); Recipients.Add("recipient.Email", Email); Recipients.Add("recipient.FullName", control.FirstName + " " + control.LastName); Recipients.Add("recipient.IPAddress", accessor.HttpContext.Connection.RemoteIpAddress.ToString()); Recipients.Add("recipient.Date", DateTime.Now.ToString("dd MMM yyyy, dddd HH:mm")); Recipients.Add("recipient.Link", $"{accessor.HttpContext.Request.Scheme}://{accessor.HttpContext.Request.Host}/Login/RePassword?q=" + forgotPassword.Key); mailManager.Send("Şifrenizi Sıfırlayın", Email, "forgot-password-en.html", Recipients, null); response.Message = "Email Gönderildi"; return(Ok(response)); }
public bool DeleteForgetPasswordRequest(ForgetPasswordRequest forgetPasswordRequest) { if (forgetPasswordRequest == null) return false; _unitOfWork.ForgetPasswordRequestRepository.Delete(forgetPasswordRequest); _unitOfWork.Save(); return true; }
public ActionResult ForgetPassword([FromBody] ForgetPasswordRequest request) { var control = userRepo.FirstOrDefaultBy(x => x.Username == request.Username && x.Email == request.Email); var response = new BaseResponse <bool>(); if (control == null) { response.SetMessage("Sistemde kayıtlı böyle bir kullanıcı bulunamadı."); return(Ok(response)); } Random rnd = new Random(); int passwordKey = rnd.Next(10000000, 99999999); string passwordKeyString = Convert.ToString(passwordKey); passwordKeyString = new Cryptography().EncryptString(passwordKeyString); var forgotPassword = new ForgatPassword(); forgotPassword.UserID = control.Id; forgotPassword.Key = passwordKeyString; forgatPasswordRepo.Add(forgotPassword); var resetLink = "http://localhost:5001/Login/RePassword?Code=" + HttpUtility.UrlEncode(passwordKeyString); MailManager.Send(resetLink, control.Email); return(Ok(response)); }
public void Task_ForgetPassword_Null_Return_BadRequest() { var controller = new UserController(_userBusiness, _configuration, _hostingEnvironment); ForgetPasswordRequest forgetPassword = null; var data = controller.ForgetPassword(forgetPassword); Assert.IsType <BadRequestObjectResult>(data); }
public bool DeleteForgetPasswordRequest(ForgetPasswordRequest forgetPasswordRequest) { if (forgetPasswordRequest == null) { return(false); } _unitOfWork.ForgetPasswordRequestRepository.Delete(forgetPasswordRequest); _unitOfWork.Save(); return(true); }
/// <summary> /// It Validate the ForgetPasswordRequest Model Before Sending it to Business Layer /// </summary> /// <param name="forgetPassword">ForgetPassword Data</param> /// <returns>Return True if Validation is successfull.</returns> private bool ValidateForgetPasswordRequest(ForgetPasswordRequest forgetPassword) { if (forgetPassword == null || string.IsNullOrWhiteSpace(forgetPassword.EmailId) || !forgetPassword.EmailId.Contains('@') || !forgetPassword.EmailId.Contains('.')) { return(false); } return(true); }
public async Task <ConfirmMapResponse> ForgetPassword(ForgetPasswordRequest passwordRequest) { var httpResponse = await _httpService.Post <ForgetPasswordRequest, ConfirmMapResponse>(APIRoute.Account.ForgetPassword, passwordRequest); if (!httpResponse.Success) { throw new ApplicationException(await httpResponse.GetBody()); } return(httpResponse.Response); }
public void Task_ForgetPassword_Email_Dot_Return_BadRequest() { var controller = new UserController(_userBusiness, _configuration, _hostingEnvironment); var forgetPassword = new ForgetPasswordRequest { EmailId = "asdjnkmvn@gmailcom" }; var data = controller.ForgetPassword(forgetPassword); Assert.IsType <BadRequestObjectResult>(data); }
public void Task_ForgetPassword_InValidEmailData_Return_NotFoundResult() { var controller = new UserController(_userBusiness, _configuration, _hostingEnvironment); var forgetPassword = new ForgetPasswordRequest { EmailId = "*****@*****.**" }; var data = controller.ForgetPassword(forgetPassword); Assert.IsType <NotFoundObjectResult>(data); }
public ActionResult ForgetPassword(string key) { ForgetPasswordRequest req = _forgetPasswordRequestService.GetValidRequest(key); if (req != null) { ForgotPasswordModel model = new ForgotPasswordModel(); model.UserProfilID = req.UserProfileID; return(View("ForgetPassword", model)); } return(new EmptyResult()); }
public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordRequest forgetPasswordRequest) { if (!ModelState.IsValid) { return(await Task.FromResult <IActionResult>(BadRequest(ModelState))); } var inputDto = this.Mapper.Map <ForgetPasswordInputDto>(forgetPasswordRequest); await this.Mediator.Send(inputDto); return(await Task.FromResult <IActionResult>(Ok())); }
public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordRequest passwordRequest) { var authResponse = await _account.ForgetPasswordAsync(passwordRequest); if (!authResponse.Success) { return(Ok(_mapper.Map <ConfirmMapResponse>(authResponse))); } var callbackUrl = Url.Action("ResetPassword", "Manage", new { UserId = authResponse.UserId, Code = authResponse.Code }, HttpContext.Request.Scheme); await _emailSender.SendEmailAsync(authResponse.Email, "ProjMAN - Confirm Your Email", "Please Confirm Your E-Mail by clicking this link: <a href=\"" + callbackUrl + "\">Click here </a>"); return(Ok(_mapper.Map <ConfirmMapResponse>(authResponse))); }
public async Task <IActionResult> ForgetPassword(ForgetPasswordRequest request) { var response = await _authRepo.ForgetPassword(request.Email); if (response.Succeeded()) { var url = Url.Action(nameof(ResetPassword), ControllerContext.ActionDescriptor.ControllerName, new { Token = response.Extra, Email = request.Email } , Request.Scheme); var message = new Message(new string[] { request.Email }, "Reset password email link", url); _emailService.SendEmail(message); } return(HandleServiceResponse(response)); }
/// <summary> /// If User Forget their Password /// </summary> /// <param name="forgetPassword">Forget Password Model</param> /// <returns>It return Response Model if Successfull or else null</returns> public UserResponseModel ForgetPassword(ForgetPasswordRequest forgetPassword) { try { if (string.IsNullOrWhiteSpace(forgetPassword.EmailId)) { return(null); } else { return(_userRepository.ForgetPassword(forgetPassword)); } } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <ConfirmResponse> ForgetPasswordAsync(ForgetPasswordRequest passwordRequest) { var user = await _userManager.FindByEmailAsync(passwordRequest.Email); if (user == null || !(await _userManager.IsEmailConfirmedAsync(user))) { return(new ConfirmResponse() { Error = "It is Already Sent to your Email" }); } var code = await _userManager.GeneratePasswordResetTokenAsync(user); return(new ConfirmResponse() { Success = true, Result = "Please Check Your Email", UserId = user.Id, Code = code, Email = passwordRequest.Email }); }
public ActionResult ForgetPasswordRequest(ForgotPasswordRequestModel model) { if (ModelState.IsValid) { UserProfile profile = _userProfileService.GetUser(model.UserName); if (profile != null && !profile.LockedInInd) { ForgetPasswordRequest req = new ForgetPasswordRequest() { Completed = false, ExpieryDate = DateTime.Now.AddMonths(2), GeneratedDate = DateTime.Now, RequestKey = MD5Hashing.MD5Hash(Guid.NewGuid().ToString()), UserProfileID = profile.UserProfileID }; if (_forgetPasswordRequestService.AddForgetPasswordRequest(req)) { string to = profile.Email; string subject = "Password Change Request"; string link = Request.Url.Host + "/Account/ForgetPassword/?key=" + req.RequestKey; string body = string.Format(@"Dear {1} <br /><br /> A password reset request has been submitted for your DRMFSS - CTS account. If you submitted this password reset request, please follow the following link. <br /><br /> <a href='{0}'>Please Follow this Link</a> <br /> <br /><br /> Please ignore this message if the password request was not submitted by you. This request will expire in 24 hours. <br /><br /> Thank you,<br /> Administrator. ", link, profile.GetFullName()); try { // Read the configuration table for smtp settings. string from = _settingService.GetSettingValue("SMTP_EMAIL_FROM"); string smtp = _settingService.GetSettingValue("SMTP_ADDRESS"); int port = Convert.ToInt32(_settingService.GetSettingValue("SMTP_PORT")); string userName = _settingService.GetSettingValue("SMTP_USER_NAME"); string password = _settingService.GetSettingValue("SMTP_PASSWORD"); // send the email using the utilty method in the shared dll. SendMail mail = new SendMail(from, to, subject, body, null, true, smtp, userName, password, port); return(RedirectToAction("ConfirmPasswordChange")); } catch (Exception e) { ViewBag.ErrorMessage = "The user name or email address you provided is not correct. Please try again."; } } else { ViewBag.ErrorMessage = "The user name or email address you provided is not correct. Please try again."; } } else { ViewBag.ErrorMessage = "The user name or email address you provided is not correct. Please try again."; } } return(View("ForgetPasswordRequest", model)); }
public bool EditForgetPasswordRequest(ForgetPasswordRequest forgetPasswordRequest) { _unitOfWork.ForgetPasswordRequestRepository.Edit(forgetPasswordRequest); _unitOfWork.Save(); return true; }
public ActionResult ForgetPasswordRequest(ForgetPasswordRequestModel model) { if (ModelState.IsValid) { var user = _userAccountService.GetUserDetail(model.UserName); if (user != null) { var forgetPasswordRequest = new ForgetPasswordRequest() { Completed = false, ExpieryDate = DateTime.Now.AddMonths(2), GeneratedDate = DateTime.Now, RequestKey = MD5Hashing.MD5Hash(Guid.NewGuid().ToString()), UserProfileID = user.UserProfileID //RequestKey = MD5Hashing.MD5Hash(Guid.NewGuid().ToString()), //UserAccountID = user.UserAccountId }; if (_forgetPasswordRequestService.AddForgetPasswordRequest(forgetPasswordRequest)) { string to = user.Email; string subject = "Password Change Request"; var callbackUrl = Url.Action("ForgetPassword", "Account", new { key = forgetPasswordRequest.RequestKey }, protocol: Request.Url.Scheme); //string link = "localhost:" + Request.Url.Port + "/Account/ForgetPassword/?key=" + forgetPasswordRequest.RequestKey; string body = string.Format(@"Dear {1} <br /><br /> A password reset request has been submitted for your Email account. If you submitted this password reset request, please follow the following link. <br /><br /> <a href='{0}'>Please Follow this Link</a> <br /> <br /><br /> Please ignore this message if the password request was not submitted by you. This request will expire in 24 hours. <br /><br /> Thank you,<br /> Administrator. ", callbackUrl, user.UserName); try { // Read the configuration table for smtp settings. string from = _settingService.GetSettingValue("SMTP_EMAIL_FROM"); string smtp = _settingService.GetSettingValue("SMTP_ADDRESS"); int port = Convert.ToInt32(_settingService.GetSettingValue("SMTP_PORT")); string userName = _settingService.GetSettingValue("SMTP_USER_NAME"); string password = _settingService.GetSettingValue("SMTP_PASSWORD"); // send the email using the utilty method in the shared dll. Cats.Helpers.SendMail mail = new Helpers.SendMail(from, to, subject, body, null, true, smtp, userName, password, port); ViewBag.ErrorMessage = "Email has been sent to your email Address."; TempData["ModelState"] = ViewBag.ErrorMessage; return(RedirectToAction("ConfirmPasswordChange")); } catch (Exception e) { ViewBag.ErrorMessage = "The user name or email address you provided is not correct. Please try again."; } } ViewBag.ErrorMessage = "Internal Error...."; } ViewBag.ErrorMessage = "Invalid User Name " + model.UserName; } return(View()); }
public async Task <IActionResult> ResetPassword(ForgetPasswordRequest request, CancellationToken ct) { return(Ok(await Mediator.Send(request, ct).ConfigureAwait(false))); }
public bool EditForgetPasswordRequest(ForgetPasswordRequest forgetPasswordRequest) { _unitOfWork.ForgetPasswordRequestRepository.Edit(forgetPasswordRequest); _unitOfWork.Save(); return(true); }
public async Task <HttpResponseMessage> UserForgetPassword(ForgetPasswordRequest reqForgetPasswordRequest) { FResponse result = new FResponse(); try { Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery <Int64>("select Id from UserProfile where Email={0}", reqForgetPasswordRequest.Email).FirstOrDefault(); if (UserId != 0) { _objIUserSettings.UpdateToken(UserId); string token = _objFriendFitDBEntity.Database.SqlQuery <string>("select TokenCode from UserToken where UserId={0}", UserId).FirstOrDefault(); string Email = _objFriendFitDBEntity.Database.SqlQuery <string>("Select Email from UserProfile Where Id=" + UserId).FirstOrDefault(); var SendingMessage = new MailMessage(); SendingMessage.To.Add(new MailAddress(Email)); // replace with valid value SendingMessage.From = new MailAddress("*****@*****.**"); // replace with valid value SendingMessage.Subject = "Password Reset (noti.fit)"; SendingMessage.Body = "Hi,<br/>You've requested a reset of your noti.fit password. If you didn't make the request, please ignore this email and your password won't be reset.<br/><br/> You can reset your password by visiting <br/> <br/><a href='" + ChangePasswordUrl + token + "'>" + ChangePasswordUrl + token + "</a> <br/><br/>This email will be valid for the next 12 hours.,<br/><br/><br/><br/>Kind regards<br/>The noti.fit team"; SendingMessage.IsBodyHtml = true; using (var smtp = new SmtpClient()) { var credential = new NetworkCredential { UserName = "******", // replace with valid value Password = "******" // replace with valid value }; smtp.Credentials = credential; smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; await smtp.SendMailAsync(SendingMessage); } //track sent Email time for expiry time : EmailTimeSaveModel objreq = new EmailTimeSaveModel(); objreq.UserId = UserId; objreq.ResetMail = true; objreq.VerifyMail = false; objreq.MailSentTime = DateTime.Now.TimeOfDay; EmailTrackerWrapper wrapper = new EmailTrackerWrapper(); wrapper.EmailTimeSave(objreq); result.StatusCode = Convert.ToInt32(HttpStatusCode.OK); result.Message = "Please check your Email for further instructions"; } else { FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/Content/ErrorLog.txt"), FileMode.Append, FileAccess.Write); StreamWriter swr = new StreamWriter(fs); swr.Write("Enter ur Exception Here"); swr.Close(); result.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized); result.Message = "This Mail Id is not registered"; } var message = Request.CreateResponse(HttpStatusCode.Created, result); return(message); } catch (Exception ex) { result.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest); _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred"); } return(_response); }