Tôi muốn xác thực mã thông báo đặt lại mật khẩu theo cách thủ công trong ASP.NET Identity 2.0. Tôi đang cố gắng để tạo ra phiên bản của riêng tôi của UserManager.ResetPasswordAsync(string userId, string token, string newPassword)
rằng mất và IdentityUser
thay vì userId
như thế này:Xác thực thủ công mã thông báo đặt lại mật khẩu trong ASP.NET Identity
UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
Không chắc chắn nếu tôi đang làm điều này đúng, nhưng ở đây tôi đang cố gắng để xác thực mã đã được gửi đến người dùng trong bước trước đó. Tôi đã không sửa đổi mã/mã thông báo gửi email cho người dùng và tạo mã. Tôi giả định đây là phương pháp chính xác để gọi, nhưng đối số purpose
là không chính xác. (Tôi đã thử đi qua "ASP.NET Identity" nhưng không có con xúc xắc.)
if (await userManager.UserTokenProvider.ValidateAsync(purpose: "?", token: code, manager: userManager, user: user))
{
return IdentityResult.Success;
}
else
{
return new IdentityResult("Invalid code.");
}
Nếu ai đó có thể điền vào tôi trong vào các chi tiết về cách hoạt động ra khỏi hộp, hoặc điểm tôi vào mã nguồn của Microsoft cho rằng UserManager.ResetPasswordAsync(IdentityUser user, string token, string newPassword)
sẽ được đánh giá cao nhất!
Biểu tượng gỡ lỗi cho tôi những gì tôi cần. Cảm ơn rất nhiều! EDIT: Nó bật ra "ResetPassword" là mục đích chính xác cho kịch bản này. –