Exemple #1
0
        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 }));
            }
        }
Exemple #3
0
        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));
            }
        }