public IActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { var user = _customerRepository.Authenticate(model.Email, model.Password); if (user == null) { //ViewData["messageError"] = _localizer["InvalidCredentials"].Value; return(View(model)); } if (!user.Active) { //ViewData["messageError"] = _localizer["DisabledUser"].Value; return(View(model)); } var authProperties = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1), RedirectUri = Url.Action("Index", "Home") }; var claims = new List <Claim> { new Claim(ClaimTypes.Name, Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(user.FirstName)), //new Claim(ClaimTypes.Name, model.Email.Split('@').First()), new Claim(ClaimTypes.Email, model.Email), new Claim(ClaimTypes.Role, user.AccessLevel.Description), //user.Cargo.Nome }; var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties).Wait(); if (!string.IsNullOrWhiteSpace(model.ReturnUrl) && Url.IsLocalUrl(model.ReturnUrl)) { return(Redirect(model.ReturnUrl)); } return(RedirectToAction("Index", "Home")); } return(View(model)); }
public CustomerResponse Authenticate([FromBody] Login login) { return(repo.Authenticate(login)); }