Мы используем asp.net 5 rc1 и asp.net Identity на производственном уровне.
Через некоторое время мы переехали на новый сервер по некоторым причинам. Теперь наши пользователи не могут использовать опцию «забыть пароль»! После заполнения полей на странице сброса пароля userManager.ResetPasswordAsync
выдает ошибку «Неверный токен».
Это ResetPassword
метод:
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> ResetPassword(ResetPasswordViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await _userManager.FindByEmailAsync(model.Email);
var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);
if (result.Succeeded)
{
return RedirectToAction(nameof(AccountController.ResetPasswordConfirmation), "Account");
}
AddErrors(result);
return View();
}
У новых пользователей, которые зарегистрировались на новом сервере, нет проблем с использованием забытого пароля. Я думаю, что эта проблема должна быть связана с ConcurrencyStamp
или SecurityStamp
свойствами пользователя. возможно, они недействительны на новой машине.
Есть идеи?
machineKey
в вашем web.config? - person trailmax   schedule 19.04.2016