Example #1
0
        public async Task <ActionResult> LoginAsync(LoginModel login)
        {
            if (!_pwencrypt.IsValidUser(login.Email, login.Password))
            {
                ModelState.AddModelError("Email", "Email or password not correct!");
                return(View());
            }

            var user = _userService.GetUser(login.Email);

            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                new ClaimsPrincipal(new ClaimsIdentity(new List <Claim>
            {
                new Claim("Id", user.ID.ToString()),
                new Claim("Email", login.Email),
                new Claim("Username", user.Name),
            }, CookieAuthenticationDefaults.AuthenticationScheme)),
                new AuthenticationProperties());

            return(RedirectToAction("Details", "User"));
        }