private async Task <LogInTryoutResult> PerformLogInTryout(LoginViewModel viewModel) { if (User?.Identity.IsAuthenticated == true) { return(new LogInTryoutResult(Redirect(viewModel.ReturnUrl ?? m_returnUrlConfiguration.DefaultRedirectUrl))); } viewModel.ExternalProviders = ViewModelFactory.FindExternalProviderViewModels(); if (!ModelState.IsValid) { return(new LogInTryoutResult(View(viewModel))); } var username = viewModel.Input.Username; var user = m_userManager.GetUserByConfirmedEmail(username); //check if user tried to log in with email if (user.Succeeded) { username = user.Result.Username; } var loginResult = await m_signInManager.PasswordSignInAsync( username, viewModel.Input.Password, viewModel.Input.RememberLogin, lockoutOnFailure : false ); if (loginResult.RequiresTwoFactor) { return(new LogInTryoutResult( RedirectToAction( nameof(LoginWith2fa), new { viewModel.Input.RememberLogin, viewModel.ReturnUrl } ), false, await m_identityUserManager.FindByNameAsync(username), true )); } if (loginResult.Succeeded) { return(new LogInTryoutResult( SuccessLogin(username, viewModel.ReturnUrl).Result, true, await m_identityUserManager.FindByNameAsync(username) )); } await m_events.RaiseAsync(new UserLoginFailureEvent(username, "Invalid credentials")); ModelState.AddModelError(Translator.Translate("invalid-username-password")); return(new LogInTryoutResult(View(viewModel))); }
public Task <SignInStatus> PasswordSignInAsync(string email, string password, bool rememberMe) { return(_signInManager.PasswordSignInAsync(email, password, rememberMe, false)); }