ฉันเพิ่งอัปเดตAsp.Net Identity Core
แบบฟอร์มใบสมัคร 1.0 เป็น 2.0
มีฟีเจอร์ใหม่ที่อยากลองใช้GenerateEmailConfirmationToken
งาน ฯลฯ
ฉันใช้โปรเจ็กต์นี้เป็นข้อมูลอ้างอิง
เมื่อผู้ใช้พยายามลงทะเบียนฉันได้รับข้อผิดพลาดระหว่างการดำเนินการของวิธีการโพสต์การลงทะเบียน
private readonly UserManager<ApplicationUser> _userManager;
public ActionResult Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var ifUserEXists = _userManager.FindByName(model.EmailId);
if (ifUserEXists == null) return View(model);
var confirmationToken = _userRepository.CreateConfirmationToken();//this is how i'm generating token currently.
var result = _userRepository.CreateUser(model,confirmationToken);
var user = _userManager.FindByName(model.EmailId);
if (result)
{
var code = _userManager.GenerateEmailConfirmationToken(user.Id);//error here
_userRepository.SendEmailConfirmation(model.EmailId, model.FirstName, confirmationToken);
//Information("An email is sent to your email address. Please follow the link to activate your account.");
return View("~/Views/Account/Thank_You_For_Registering.cshtml");
}
}
//Error("Sorry! email address already exists. Please try again with different email id.");
ModelState.AddModelError(string.Empty, Resource.AccountController_Register_Sorry__User_already_exists__please_try_again_);
return View(model);
}
ในบรรทัด
var code = _userManager.GenerateEmailConfirmationToken(user.Id);
ฉันได้รับข้อผิดพลาดว่า:
No IUserTokenProvider is registered.
สำหรับตอนนี้ฉันแค่อยากจะดูว่ามันสร้างรหัสแบบไหน มีการเปลี่ยนแปลงบางอย่างที่ฉันต้องทำกับApplicationUser
ชั้นเรียนที่สืบทอดมาจากIdentityUser
คลาสหรือไม่?
หรือมีบางอย่างที่ฉันต้องเปลี่ยนเพื่อให้ฟังก์ชันเหล่านั้นทำงานได้?