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)); } }
public async Task <IActionResult> Auth([FromBody] AuthRequest request) { var result = await _service.Authenticate(request); return(Result(result)); }