ASP.NET Identity 2.0 でパスワード リセット トークンを手動で検証したいと考えています。私は自分のバージョンのUserManager.ResetPasswordAsync(string userId, string token, string newPassword)
テイクを作成しようとしていますが、このようなものではありIdentityUser
ませんuserId
:
UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
これが正しいかどうかはわかりませんが、ここでは、前の手順でユーザーに電子メールで送信されたコードを検証しようとしています。メールをユーザーに送信してコードを生成するコード/トークンを変更していません。これが呼び出す正しいメソッドであると想定していますが、purpose
引数が正しくありません。(「ASP.NET Identity」を渡そうとしましたが、サイコロはありません。)
if (await userManager.UserTokenProvider.ValidateAsync(purpose: "?", token: code, manager: userManager, user: user))
{
return IdentityResult.Success;
}
else
{
return new IdentityResult("Invalid code.");
}
箱から出してすぐに動作する方法の詳細について誰かが私に記入してくれたり、Microsoft のソース コードを教えてくれたりUserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
すると、非常にありがたいです!