public async Task <ActionResult> Login(LoginModel model) { await SetInitialDataAsync(); if (ModelState.IsValid) { UserDTO userDto = new UserDTO { Email = model.Email, Password = model.Password }; ClaimsIdentity claim = await UserAppService.Authenticate(userDto); if (claim == null) { ModelState.AddModelError("", "Invalid Login / Password."); } else { AuthenticationManager.SignOut(); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, claim); return(RedirectToAction("Index", "Home")); } } return(View(model)); }
public async Task <JsonResult> Login(LoginViewModel model) { try { var user = await service.Authenticate(model.Email, model.Password); await _signInManager.SignInAsync(new ApplicationUser() { UserName = user.Email, Id = user.Id.ToString() }, isPersistent : false); return(Json(new { Success = true, Url = Url.Action("Index", "Home") })); } catch (Exception ex) { return(Json(new { Success = false, ex.Message })); } }
public ActionResult Authenticate([FromBody] UserBO userBO) { UserAppService userAppService = new UserAppService(); UserResponseBO _apiResponse = new UserResponseBO(); if (ModelState.IsValid) { try { UserResponseBO userAuthResponse = userAppService.Authenticate(userBO); _apiResponse.UserInfo = userAuthResponse.UserInfo; _apiResponse.UserWallet = userAuthResponse.UserWallet; _apiResponse.UserRole = userAuthResponse.UserRole; // SET SESSIONS SessionController sessionController = new SessionController(); sessionController.CreateSession(userAuthResponse, HttpContext.Session); _apiResponse.HttpStatusCode = "200"; _apiResponse.Message = "User successfully authenticated"; _apiResponse.Status = "Success"; return(Ok(_apiResponse)); } catch (Exception ex) { _apiResponse.HttpStatusCode = "500"; _apiResponse.Message = ex.Message; _apiResponse.Status = "Error"; return(Ok(_apiResponse)); } } else { _apiResponse.HttpStatusCode = "500"; _apiResponse.Message = "Please input the required credentials"; _apiResponse.Status = "Error"; return(Ok(_apiResponse)); } }