public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null, bool IsCalledFromRegisterWithoutUsername = false) { returnUrl = returnUrl ?? Url.Content("~/"); ViewData["ReturnUrl"] = returnUrl; if (!ModelState.IsValid) { return(View(model)); } var user = new TUser { UserName = model.UserName, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code }, HttpContext.Request.Scheme); await _emailSender.SendEmailAsync(model.Email, _localizer["ConfirmEmailTitle"], _localizer["ConfirmEmailBody", HtmlEncoder.Default.Encode(callbackUrl)]); if (_identityOptions.SignIn.RequireConfirmedAccount) { return(View("RegisterConfirmation")); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } AddErrors(result); // If we got this far, something failed, redisplay form if (IsCalledFromRegisterWithoutUsername) { var registerWithoutUsernameModel = new RegisterWithoutUsernameViewModel { Email = model.Email, Password = model.Password, ConfirmPassword = model.ConfirmPassword }; return(View("RegisterWithoutUsername", registerWithoutUsernameModel)); } else { return(View(model)); } }
public async Task <IActionResult> RegisterWithoutUsername(RegisterWithoutUsernameViewModel model, string returnUrl = null) { var registerModel = new RegisterViewModel { UserName = model.Email, Email = model.Email, Password = model.Password, ConfirmPassword = model.ConfirmPassword }; return(await Register(registerModel, returnUrl, true)); }
public async Task <IActionResult> RegisterWithoutUsername([FromBody] RegisterWithoutUsernameViewModel model) { var registerModel = new RegisterViewModel { UserName = model.Email, Email = model.Email, Password = model.Password, ConfirmPassword = model.ConfirmPassword }; return(await Register(registerModel)); }