최근에 Asp.Net Identity Core
신청서 1.0을 2.0으로 업데이트했습니다 .
시도하고 싶었던 새로운 기능 GenerateEmailConfirmationToken
등이 있습니다.
내가 사용하고 이 기준으로 프로젝트를.
사용자가 등록을 시도하면 Register의 Post 메소드 실행 중에 오류가 발생합니다.
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
클래스 를 변경해야 합니까?
아니면 그 기능이 작동하도록 변경해야 할 것이 있습니까?