public IActionResult SignIn(SignInViewModel viewModel) { var result = ProcessViewModel( viewModel, async vm => { var validationResult = new ValidationResult <SignInViewModel>(); try { var principal = authentication.SignIn(vm.Username, vm.Password); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); } catch (DeactivatedException) { validationResult.AddError( x => x.Username, translationManager.GetTranslationLabel(LanguageId, "Dashboard:SignIn:Deactivated")); ModelState.AddValidationResult(validationResult); throw; } catch (Exception) { validationResult.AddError( x => x.Username, translationManager.GetTranslationLabel(LanguageId, "Dashboard:SignIn:WrongLogin")); validationResult.AddError( x => x.Password, translationManager.GetTranslationLabel(LanguageId, "Dashboard:SignIn:WrongLogin")); ModelState.AddValidationResult(validationResult); throw; } }, () => RedirectToAction("Index", "Dashboard"), () => { var reloader = GetReloader <SignInViewModel>(); return(View("SignIn", reloader.Reload(viewModel))); }); return(result.Result); }
public async Task <AuthUser> SignInAsync(SignInModel signInModel) { var authUser = await _authenticationClient.SignIn <AuthUser>(signInModel); return(authUser); }