public IActionResult Login(LoginFormModel loginFormModel) { ServiceResponse response = userService.AuthenticateUser(loginFormModel.EmailAddress, loginFormModel.Password); messageHelper.AppendResponseMessages(messages, response); User user = response.ResponseObject as User; if (user != null) { // Ideally we would use async await here but the current behavior of this call does not behave as expected when awaited securityHelper.SignInAsync(HttpContext, user.Id, user.EmailAddress, user.FirstName).Wait(); messageHelper.AddMessagesToSession(messages, HttpContext); return(RedirectToAction("Dashboard")); } else { loginFormModel.Messages = messages; return(View("Index", loginFormModel)); } }