Esempio n. 1
0
        public async Task <IActionResult> Login(LoginUserViewModel loginUserViewModel)
        {
            var userDetails = _accountBusinessRepository.Login(loginUserViewModel.Email, loginUserViewModel.Password);

            if (userDetails != null)
            {
                var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);

                List <Claim> claims = new List <Claim>();
                claims.Add(new Claim(ClaimTypes.Sid, userDetails.Id.ToString()));
                claims.Add(new Claim(ClaimTypes.Email, userDetails.Email));
                claims.Add(new Claim(ClaimTypes.Name, userDetails.FirstName + " " + userDetails.LastName));

                identity.AddClaims(claims);

                var principal = new ClaimsPrincipal(identity);
                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                return(RedirectToAction(RouteConstant.Index_Action, RouteConstant.Home_Controller));
            }

            TempData["Error"] = ResponseMessageConstant.InvalidEmailOrPassword;

            return(View());
        }