[Pytanie] - jak przekazac token z [HttpGet] do [HttpPost]
Przy restartowaniu hasla uzytkownik na meila dostaje link ktory zawiera token potrzebny do ustawienia nowego hasla. Nastepnie widok weryfikuje czy URL posiada odpowiednie wartosci i wyswietla strone
[HttpGet]
[AllowAnonymous]
public IActionResult ResetPassword(string code = null)
{
if(code == null || userId == null)
{
throw new ApplicationException("Necessary informations are not provided.");
}
return View();
}
Potrzebuje tego tokena w [HttpPost] zeby moc wyslac forme do SQL Server z nowym haslem.
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> ResetPassword(ResetPasswordViewModel model)
{
if (!ModelState.IsValid)
{
return RedirectToAction(nameof(HomeController.Index));
}
var user = await _userManager.FindByEmailAsync(model.EmailAddress);
if (user != null)
{
var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);
if (result.Succeeded)
{
return RedirectToAction(nameof(AccountController.ResetPasswordConfirmation));
}
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}
return View(model);
}
Spotkalem sie z takim rozwiazaniem w dokumentacji AspNetCore, ale wartosc nie jest przekazywana i model.Code = null.
...
var model = new ResetPasswordViewModel { Code = code };
return View(model);