Recientemente actualicé Asp.Net Identity Core
mi formulario de solicitud 1.0 a 2.0.
Hay nuevas funciones que quería probar GenerateEmailConfirmationToken
, etc.
Estoy usando este proyecto como referencia.
Cuando el usuario intenta registrarse, aparece un error durante la ejecución del método de publicación de registro
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);
}
En la linea
var code = _userManager.GenerateEmailConfirmationToken(user.Id);
Me sale un error que dice:
No IUserTokenProvider is registered.
Por ahora, solo quería ver qué tipo de código genera. ¿Hay algún cambio que deba hacer en mi ApplicationUser
clase que herede de la IdentityUser
clase?
¿O hay algo que necesito cambiar para que funcionen esas funciones?