public async Task <IActionResult> LoginWith2fa( bool rememberMe, string returnUrl = null, bool showResendMessage = false ) { if (User?.Identity.IsAuthenticated == true) { return(Redirect(returnUrl ?? m_returnUrlConfiguration.DefaultRedirectUrl)); } // Ensure the user has gone through the username & password screen first var user = await m_signInManager.GetTwoFactorAuthenticationUserAsync(); if (user == null) { ModelState.AddModelError(m_localization.Translate("no-valid-2f-session", "LoginWith2FaViewModel")); CacheModelState(); return(RedirectToAction(nameof(Login), new { returnUrl })); } await m_signInManager.GenerateTwoFactorTokenAsync(user, user.TwoFactorProvider); var model = new LoginWith2FaViewModel { RememberMe = rememberMe, ReturnUrl = returnUrl, Username = user.UserName, ShowResendMessage = showResendMessage }; return(View(model)); }