ユーザーにパスワードリセットを許可しようとしていますが、なぜcode
とcallbackUrl
がfalseを返すのかわかりません。両方の値が、それは誤りないIUserTokenProviderを生成し、nullを返すのでIUserTokenProviderが登録されていないというエラーが発生するのはなぜですか?
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
{
if (ModelState.IsValid)
{
var user = await UserManager.FindByNameAsync(model.Email);
if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id)))
{
// Don't reveal that the user does not exist or is not confirmed
return View("ForgotPasswordConfirmation");
}
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
string callbackUrl = await ResetPasswordConfirmationTokenAsync(user.Id, "Password Reset");
return RedirectToAction("ForgotPasswordConfirmation", "Account");
}
// If we got this far, something failed, redisplay form
return View(model);
}
が、私は、パスワードのリセットタスク
private async Task<string> ResetPasswordConfirmationTokenAsync(string userID, string subject)
{
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link:
string code = await UserManager.GeneratePasswordResetTokenAsync(userID);
var callbackUrl = Url.Action("ForgotPassword", "Account", new { userId = userID, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(userID, subject, "Please confirm your account by <a href=\"" + callbackUrl + "\">clicking here</a>");
return callbackUrl;
}
を作成します。ここに私のパスワードを忘れた方法であります登録されています。user
がnullでない場合、なぜこのようなことが起こりますか?
タイトルがより具体的に変更されるまで、投票を中止します。 –
可能な複製 http:// stackoverflow。com/questions/22629936/no-iusertokenprovider-is-registered – PAVITRA