public async Task <IActionResult> ForgotPassword([FromBody] ForgotPasswordForDto model) { try { if (string.IsNullOrEmpty(model.UserName)) { return(BadRequest("Lütfen tüm alanları doldurunuz.")); } var user = await _userManager.FindByNameAsync(model.UserName); if (user == null) { return(BadRequest($"{model.UserName} isminde bir kullanıcı bulunamadı. Lütfen bilgilerinizi kontrol ediniz.")); } var passResetToken = await _userManager.GeneratePasswordResetTokenAsync(user); var resetLink = "http://localhost:1453/Home/ResetPassword?token=" + passResetToken; var mailBody = $"Merhaba {user.UserName}, <br> Şifre sıfırlama linkiniz aşağıdaki gibidir. Eğer şifre sıfırlama linkini siz talep etmediyseniz lütfen bu maili dikkate almayınız. <br><br> {resetLink} <br><br> Teşekkürler, <br> InGame Group"; Tools.SendEmail(mailBody, user.Email, user.UserName); return(Ok()); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> ForgotPassword(ForgotPasswordForDto model) { if (!ModelState.IsValid) { return(View(model)); } var json = JsonConvert.SerializeObject(model, Formatting.Indented); var httpClinet = _httpClientFactory.CreateClient("ingamedemo"); var response = await httpClinet.PostAsync("account/forgotpassword", new StringContent(json, Encoding.UTF8, "application/json")); if (!response.IsSuccessStatusCode) { var message = await response.Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(message)) { message = "Beklenmedik bir hata meydana geldi. Lütfen daha sonra tekrar deneyiniz."; } ModelState.AddModelError("", message); } else { AddSweetAlert("", "Şifre reset linkiniz mail adresine gönderilmiştir. Lütfen mail adresinizi kontrol ediniz.", NotificationType.success); return(RedirectToAction("Index")); } return(View(model)); }