//[HttpPost("sign-up", Name = "PostRegister")] public async Task <IActionResult> Register(RegisterAccount account, string returnTo) { if (ModelState.IsValid) { User user = new User() { UserName = account.UserName, Email = account.Email, FirstName = account.FirstName, LastName = account.LastName, RegisteredOn = account.RegisteredOn, PhotoFileName = "user_avatar.png", GeneratedKey = Guid.NewGuid().ToString("N"), PhoneNumber = account.PhoneNumberUser }; var result = await _userManager.CreateAsync(user, account.Password); if (result.Succeeded) { if (_userManager.Options.SignIn.RequireConfirmedEmail) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callBackUrl = Url.RouteUrl("ConfirmEmail", new { code, key = user.GeneratedKey }, Request.Scheme); var message = $"<a href=\"{callBackUrl}\"> Confirm Email </a>"; await _emailSender.SendEmailAsync(user.Email, "Confirm Email", message); return(View("SuccessRegister", user)); } if (_userManager.Options.SignIn.RequireConfirmedPhoneNumber) { var token = await _userManager .GenerateChangePhoneNumberTokenAsync(user, user.PhoneNumber); await _smsSender.SendSmsAsync(account.PhoneNumberUser, token); return(View("ConfirmPhone", new Confirmphone { Returnto = returnTo, Username = account.UserName })); } // await _signInManager.SignInAsync(user, false); return(RedirectToLocal(returnTo)); } this.AddErrors(result); } return(View(account)); }
public async Task <ActionResult> AddPhoneNumber(AddPhoneNumberViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Generate the token and send it var code = await UserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.GetUserId(), model.Number); if (UserManager.SmsService != null) { var message = new IdentityMessage { Destination = model.Number, Body = "Your security code is: " + code }; await UserManager.SmsService.SendAsync(message); } return(RedirectToAction("VerifyPhoneNumber", new { PhoneNumber = model.Number })); }
public async Task <ActionResult> AddPhoneNumber(AddPhoneNumberViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Generar el token y enviarlo var code = await UserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.GetUserId <long>(), model.Number); if (UserManager.SmsService != null) { var message = new IdentityMessage { Destination = model.Number, Body = "Su código de seguridad es: " + code }; await UserManager.SmsService.SendAsync(message); } return(RedirectToAction("VerifyPhoneNumber", new { PhoneNumber = model.Number })); }
/// <summary> /// If the appuser has specified a phone number. /// Sends a SMS code to confirm the phone number of the user. /// </summary> /// <param name="userId"></param> /// <param name="registerPhoneNumberDto"></param> /// <returns></returns> private async Task SendPhoneNumberConfirmationAsync(long userId, RegisterPhoneNumberReq registerPhoneNumberDto) { if (!string.IsNullOrWhiteSpace(registerPhoneNumberDto.PhoneNumber)) { var smsCode = await AppUserManager.GenerateChangePhoneNumberTokenAsync(userId, registerPhoneNumberDto.PhoneNumber); if (AppUserManager.SmsService != null) { var message = new IdentityMessage { Destination = registerPhoneNumberDto.PhoneNumber, Body = "Your Api security code is: " + smsCode }; await AppUserManager.SmsService.SendAsync(message); } } }
public async Task <Object> InvokeAsync(Int64 UserId, String PhoneNumber) { var userByPhone = await _userManager.FindAsync(new UserLoginInfo("PhoneNumber", PhoneNumber)); if (userByPhone != null && userByPhone.Id != UserId) { return("phoneAlreadyTaken"); } String code = await _userManager.GenerateChangePhoneNumberTokenAsync(UserId, PhoneNumber); if (_userManager.SmsService == null) { throw new ArgumentNullException("UserManager.SmsService"); } var message = new IdentityMessageWithUserId { Destination = PhoneNumber, Body = "Your security code is: " + code, UserId = UserId }; try { await _userManager.SmsService.SendAsync(message); } catch (Exception ex) { if (ex.InnerException != null) { ex = ex.InnerException; } return($"error:{ex.Message}"); } return("success"); }
public Task <string> GeneratePhoneNumberToken(User user, string phoneNumber) { return(_userManager.GenerateChangePhoneNumberTokenAsync(user, user.PhoneNumber)); }