Recentemente atualizei Asp.Net Identity Core
meu formulário de inscrição 1.0 para 2.0.
Existem novos recursos que eu gostaria de experimentar GenerateEmailConfirmationToken
, etc.
Estou usando este projeto como referência.
Quando o usuário tenta se cadastrar, recebo um erro durante a execução do método Post de Register
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);
}
Na linha
var code = _userManager.GenerateEmailConfirmationToken(user.Id);
Eu recebo um erro dizendo:
No IUserTokenProvider is registered.
Por enquanto, eu só queria ver que tipo de código ele gera. Há alguma mudança que preciso fazer em minha ApplicationUser
classe que herda da IdentityUser
classe?
Ou há algo que preciso alterar para que essas funções funcionem?