public IActionResult Login(LogingInViewModel logingInViewModel)
        {
            if (ModelState.IsValid)
            {
                User user = _context.users.Where(u => u.Email == logingInViewModel.Email).FirstOrDefault();

                if (user != null)
                {
                    //not hashing for the door
                    if (user.pin == logingInViewModel.Pin)
                    {
                        user.Token = Guid.NewGuid().ToString();
                        _context.SaveChanges();

                        Response.Cookies.Append("token", user.Token, new Microsoft.AspNetCore.Http.CookieOptions
                        {
                            Expires  = logingInViewModel.RememberMe ? DateTime.Now.AddYears(1) : DateTime.Now.AddDays(1),
                            HttpOnly = true
                        });

                        return(RedirectToAction("Home", "MyGym"));
                    }
                }
                ModelState.AddModelError("Pin", "Wrong email or password");
            }

            return(View(logingInViewModel));
        }
Example #2
0
        public ActionResult Login(LogingInViewModel Login)
        {
            if (ModelState.IsValid)
            {
                User user = _context.users.FirstOrDefault(u => u.Email == Login.Email);
                if (user != null)
                {
                    if (user.Password == Crypto.SHA256(Login.Password))
                    {
                        user.Token = Guid.NewGuid().ToString();
                        _context.SaveChanges();
                        HttpCookie tokenCookie = new HttpCookie("token")
                        {
                            Value    = user.Token,
                            HttpOnly = true
                        };

                        tokenCookie.Expires = DateTime.Now.AddDays(10);

                        Response.Cookies.Add(tokenCookie);
                        return(RedirectToAction("index", "UserProfile", user));
                    }
                }
                ModelState.AddModelError("CustomError", "Wrong Email or Password");
            }

            LoginViewModel model1 = new LoginViewModel
            {
                Login = Login
            };

            return(View("~/Views/Login/Index.cshtml", model1));
        }