Exemple #1
0
        public IActionResult Authenticate([FromBody] UserDto userParam)
        {
            var user = _serviceUser.Authenticate(userParam.Email, userParam.Password);

            if (user == null)
            {
                return(BadRequest());
            }

            return(Ok(user));
        }
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            PraticalTest.Domain.User user = _serviceUser.Authenticate(model.Email, model.Password);

            if (user != null)
            {
                IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
                authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);

                var claims = new List <Claim>();
                claims.Add(new Claim(ClaimTypes.Name, user.Name));
                claims.Add(new Claim(ClaimTypes.Email, user.Email));
                claims.Add(new Claim(ClaimTypes.Role, user.IsAdmin ? "Admin" : "Seller"));
                claims.Add(new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()));
                ClaimsIdentity identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);

                AuthenticationProperties props = new AuthenticationProperties();
                props.IsPersistent = model.RememberMe;

                authenticationManager.SignIn(props, identity);
                if (Url.IsLocalUrl(returnUrl))
                {
                    return(Redirect(returnUrl));
                }
                else
                {
                    return(RedirectToAction("Index", "Client"));
                }
            }
            else
            {
                ModelState.AddModelError("", "The email and/or password entered is invalid. Please try again.");
                return(View(model));
            }
        }
Exemple #3
0
        public async Task <IActionResult> Auth([FromBody] AuthRequest request)
        {
            var result = await _service.Authenticate(request);

            return(Result(result));
        }