public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordViewModel model) { try { var user = await _userManager.FindByEmailAsync(model.Email); if (user.IsNull()) { return(BadRequest(IdentityEnums.Errors.WhenResetPasswordUserNorFound.ToString())); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); await _emailService.SendAsync(new EmailParam("Reset password Amazon.com") .AddSendTo(model.Email) .SetBody( EmailHelper.AddParagraph("Please click below link for reset password."), EmailHelper.AddLink(string.Format(model.CallbackUrl, GlobalConfig.HostModules[App.SharedKernel.Model.Enums.Modules.Identity] , model.Email, token), "Click her"))); return(Ok(token)); } catch (Exception) { throw; } }
public async Task <IActionResult> GetUserEmailConfirmationToken(string email, string callback = "{0}users/{1}/confirmemail?token={2}") { try { email = email.TrimAndToLower(); var user = await _userManager.FindByEmailAsync(email); if (user.IsNull()) { return(BadRequest(IdentityEnums.Errors.WhenConfirmEmailThatNotFound.ToString())); } else if (user.EmailConfirmed) { return(BadRequest(IdentityEnums.Errors.WhenConfirmEmailThatAlreadyValidated.ToString())); } var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); await _emailService.SendAsync(new EmailParam("Confirm Email By Amazon.com") .AddSendTo(email) .SetBody( EmailHelper.AddParagraph("Please Confirm your email by clicking fologing link"), EmailHelper.AddLink(string.Format(callback, GlobalConfig.HostModules[App.SharedKernel.Model.Enums.Modules.Identity] , email, token), "Click her"))); return(Ok("token_sent")); } catch (Exception) { throw; } }
public async Task <IActionResult> ConfirmEmail(string email, string token) { var result = ActionResultFilter(await _identityService.SetHttpContext(HttpContext).ConfirmUserEmail(email, token)); SetViewMessage(result.Item1.IsOk(), result.Item1.IsOk() ? $"Email Confirmed success.{EmailHelper.AddLink($"identity/{nameof(Login)}", "Please login to the system.")}" : result.Item2.ToString()); return(View()); }