private async Task <RegisterViewModel> BuildRegisterViewModelAsync(RegisterInputModel model) { var vm = await BuildRegisterViewModelAsync(model.ReturnUrl); vm.Email = model.Email; return(vm); }
public async Task <IActionResult> Register(RegisterInputModel model) { model.ReturnUrl = model.ReturnUrl ?? Url.Content("~/"); //ExternalLogins = (await signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Username, Email = model.Email }; var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { //logger.LogInformation("User created a new account with password."); var code = await userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", null, new { area = "Identity", userId = user.Id, code }, Request.Scheme); // await emailSender.SendEmailAsync(model.Email, "Confirm your email", //$"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = model.Email })); } await signInManager.SignInAsync(user, false); return(LocalRedirect(model.ReturnUrl)); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } var vm = await BuildRegisterViewModelAsync(model); return(View(vm)); }