public async Task <IActionResult> ValidateUsername(string username, string email) { IdentityResult result = await _userValidator.ValidateAsync( (UserManager <User>) _userManager, new User { UserName = username /*, Email = email*/ }); return(Json(result.Succeeded ? "true" : result.DumpErrors(useHtmlNewLine: true))); }
public async Task <IActionResult> ValidatePassword(string password, string username) { IdentityResult result = await _passwordValidator.ValidateAsync( (UserManager <User>) _userManager, new User { UserName = username }, password); return(Json(result.Succeeded ? "true" : result.DumpErrors(useHtmlNewLine: true))); }
public async Task <IActionResult> CreateUser([FromBody] RegisterViewModel model) { User user = new User { UserName = model.UserName, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { _logger.LogInformation(3, $"{user.UserName} created a new account with password."); if (_settings.EnableEmailConfirmation) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); await _emailSender.SendEmailAsync( email : user.Email, subject : "Please confirm your email", message : code); return(Ok()); } } return(BadRequest(error: result.DumpErrors(useHtmlNewLine: false))); }
public async Task <ApiResult <string> > Register([FromBody] UsersViewModel viewModel) { ModelState.Remove("roleId"); ModelState.Remove("PersianBirthDate"); ModelState.Remove("PhoneNumber"); if (ModelState.IsValid) { AppUser user = new AppUser { EmailConfirmed = true, UserName = viewModel.UserName, FirstName = viewModel.FirstName, LastName = viewModel.LastName, PasswordHash = viewModel.Password, Email = viewModel.Email, Gender = viewModel.Gender ?? viewModel.Gender, Notifications = new List <Notification> { new Notification { EnterEmail = true, ExitEmail = true, EnterTelegram = true, ExitTelegram = true, EnterSms = false, ExitSms = false, } } }; IdentityResult identityResult = await _userManager.CreateAsync(user, viewModel.Password); if (identityResult.Succeeded) { await _userManager.AddToRoleAsync(user, "کاربر عادی"); return(Ok(NotificationMessages.RegisterSuccess)); } return(BadRequest(identityResult.DumpErrors())); } return(BadRequest(ModelState.GetErrorsModelState())); }