public async Task <IActionResult> RequestPasswordReset(string email) { try { var response = new ApiResponse <string>(); var user = await _userManager.FindByEmailAsync(email); if (user == null) { response.Errors.Add($"User with {email} does not exist"); return(Ok(response)); } var code = await _userManager.GeneratePasswordResetTokenAsync(user); var tokenQueryModel = new PasswordResetQueryModel { Email = user.Email, Token = code }; var tokenQueryModelString = JsonConvert.SerializeObject(tokenQueryModel); code = _protector.Protect(tokenQueryModelString); //code = tokenQueryModelString; //code = WebUtility.UrlEncode(code); response.Payload = code; return(Ok(response)); } catch (Exception e) { throw; } }
public async Task <List <ValidationResult> > RequestPasswordReset(string email) { var user = await _userManager.FindByEmailAsync(email); if (user == null) { results.Add(new ValidationResult($"User with {email} does not exist")); return(results); } var code = await _userManager.GeneratePasswordResetTokenAsync(user); code = WebUtility.UrlEncode(code); var tokenQueryModel = new PasswordResetQueryModel { Email = user.Email, Token = code }; var tokenQueryModelString = JsonConvert.SerializeObject(tokenQueryModel); code = _protector.Protect(tokenQueryModelString); await SendMessage("email", BusMessageTypes.USER_MSG, new UserEmailTokenViewModel { Code = code, User = user, EmailType = EmailTypeEnum.UserResetPassword }); return(results); }