public async Task ForgotPasswordAsync(ForgotPassowrdModel forgotPassowrdModel) { var user = await userManager.FindByEmailAsync(forgotPassowrdModel.Email); if (user != null) { var token = await userManager.GeneratePasswordResetTokenAsync(user); var passwordReseLink = string.Concat(GlobalConfig.PresentationBaseUrl, $"/reset/resetpassword?token={Base64UrlEncoder.Encode(token)}&email={user.Email}"); var messageBuilder = new EmailBuilder(configuration) { To = new[] { user.Email }, Subject = "Reset Password", IsBodyHtml = true, Body = $"Hi {user.FullName} , please click on the link below reset your password. <br/><br/>" + $"{passwordReseLink} <br/><br/>" + $"Happy eating!!!" }; await EmailBuilder.SendEmailAsync(messageBuilder); } else if (user == null) { throw new NullReferenceException("This email does not belong to any acccount"); } }
public async Task <IActionResult> GetPasswordResetEmail([FromBody] ForgotPassowrdModel forgotPassowrdModel) { try { await securityService.ForgotPasswordAsync(forgotPassowrdModel); return(Ok()); } catch (Exception ex) { return(HandleExcpetion(ex)); } }