예제 #1
0
        public async Task <ResultVM> Login([FromBody] TwoFactorLoginVM model)
        {
            if (ModelState.IsValid)
            {
                return(await TwoFaLogin(model.TwoFactorCode, isRecoveryCode : false, model.RememberMachine));
            }

            var errors = GetErrors(ModelState).Select(e => "<li>" + e + "</li>");

            return(new ResultVM
            {
                Status = Status.Error,
                Message = "Invalid data",
                Data = string.Join("", errors)
            });
        }
예제 #2
0
        public async Task <IActionResult> TwoFactorAuthentication(TwoFactorLoginVM model)
        {
            AppUser user = await _signInManager.GetTwoFactorAuthenticationUserAsync();

            Microsoft.AspNetCore.Identity.SignInResult result = null;
            if (!model.KurtarmaKodumu)
            {
                result = await _signInManager.TwoFactorAuthenticatorSignInAsync(model.DogrulamaKodu, false, false);
            }
            else
            {
                result = await _signInManager.TwoFactorRecoveryCodeSignInAsync(model.DogrulamaKodu);
            }
            if (!result.Succeeded)
            {
                MesajYaz(result.Succeeded, "", "Doğrulama kodunu yanlış girdiniz.Lütfen doğrulama kodunu tekrar giriniz.");
                return(View());
            }
            return(Redirect(TempData["ReturnUrl"] != null ? TempData["ReturnUrl"].ToString() : Url.Action("Index", "Home")));
        }