コード例 #1
0
        public async Task <ActionResult> SendSecurityCode(SendSecurityCodeViewModel model)
        {
            var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();

            if (user == null)
            {
                return(RedirectToAction("Login"));
            }

            CheckCurrentTenant(await _signInManager.GetVerifiedTenantIdAsync());

            return(RedirectToAction(
                       "VerifySecurityCode",
                       new
            {
                provider = model.SelectedProvider,
                returnUrl = model.ReturnUrl,
                rememberMe = model.RememberMe
            }
                       ));
        }
コード例 #2
0
ファイル: AccountController.cs プロジェクト: zhaohejing/yt
        public async Task <ActionResult> SendSecurityCode(SendSecurityCodeViewModel model)
        {
            var tenantId = await _signInManager.GetVerifiedTenantIdAsync();

            using (CurrentUnitOfWork.SetTenantId(tenantId))
            {
                if (!await _signInManager.SendTwoFactorCodeAsync(model.SelectedProvider))
                {
                    throw new UserFriendlyException(L("SendSecurityCodeErrorMessage"));
                }

                return(RedirectToAction(
                           "VerifySecurityCode",
                           new
                {
                    provider = model.SelectedProvider,
                    returnUrl = model.ReturnUrl,
                    rememberMe = model.RememberMe
                }
                           ));
            }
        }
コード例 #3
0
ファイル: AccountController.cs プロジェクト: RocChing/Net.Qks
        public async Task <ActionResult> SendSecurityCode(SendSecurityCodeViewModel model)
        {
            var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();

            if (user == null)
            {
                return(RedirectToAction("Login"));
            }

            CheckCurrentTenant(await _signInManager.GetVerifiedTenantIdAsync());

            if (model.SelectedProvider != GoogleAuthenticatorProvider.Name)
            {
                var code = await _userManager.GenerateTwoFactorTokenAsync(user, model.SelectedProvider);

                var message = L("EmailSecurityCodeBody", code);

                if (model.SelectedProvider == "Email")
                {
                    await _emailSender.SendAsync(await _userManager.GetEmailAsync(user), L("EmailSecurityCodeSubject"), message);
                }
                else if (model.SelectedProvider == "Phone")
                {
                    await _smsSender.SendAsync(await _userManager.GetPhoneNumberAsync(user), message);
                }
            }

            return(RedirectToAction(
                       "VerifySecurityCode",
                       new
            {
                provider = model.SelectedProvider,
                returnUrl = model.ReturnUrl,
                rememberMe = model.RememberMe
            }
                       ));
        }