8

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)すると、非常にありがたいです!

4

2 に答える 2

3

次の場所にある Codeplex リポジトリによると、Microsoft.AspNet.Identity のコードはオープン ソース化されていないようです。

https://aspnetidentity.codeplex.com/SourceControl/latest#Readme.markdown

現在、ASP.NET Identity フレームワーク コードは公開されていないため、このサイトでは公開されません。ただし、これを変更する予定であり、可能になり次第、コードをこのリポジトリで公開する予定です。

ただし、デバッグシンボルに基づいて UserManager のソースである可能性があるこれを見つけました:

ユーザーマネージャーのソースコード

また、役立つ可能性のあるこれらの投稿も見つけました。

ASP.NET ID を使用してカスタム パスワード ポリシーを実装する

UserManager クラスのドキュメント

IUserTokenProvider インターフェイスのドキュメント

于 2014-05-22T19:18:00.147 に答える