Recientemente actualicé Asp.Net Identity Coremi 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 ApplicationUserclase que herede de la IdentityUserclase?
¿O hay algo que necesito cambiar para que funcionen esas funciones?