Пример #1
0
        public async Task <IActionResult> ExternalLoginSendVcode(ExternalLoginPhoneNumberViewModel model, string returnUrl = null)
        {
            if (!ModelState.IsValid)
            {
                ViewData["ReturnUrl"] = returnUrl;
                return(View("ExternalLoginInputPhoneNumber", model));
            }

            // Get the information about the user from the external login provider
            var(user, code) = await _userManager.GenerateChangePhoneNumberTokenAsync(model.PhoneNumber);

            if (string.IsNullOrEmpty(code))
            {
                throw new ApplicationException($"Error generating code to mobile phone {model.PhoneNumber}.");
            }

            var codeText   = $"【新广州入户】{code}为您的验证码。如非本人操作,请忽略本短信。";
            var sendResult = await _smsSender.SendSmsAsync(user.PhoneNumber, codeText);

            if (!sendResult)
            {
                throw new ApplicationException($"Error sending code to mobile phone {user.PhoneNumber} with text: {codeText}.");
            }

            ViewData["ReturnUrl"]   = returnUrl;
            ViewData["PhoneNumber"] = user.PhoneNumber;
            return(View("ExternalLoginInputCode", new ExternalLoginVcodeViewModel {
                PhoneNumber = user.PhoneNumber
            }));
        }
Пример #2
0
 public IActionResult ExternalLoginInputPhoneNumber(ExternalLoginPhoneNumberViewModel model)
 {
     return(View(model));
 }