public async Task <ActionResult> Login(AuthenticationLoginModel auth) { var user = await UsersContext.Users.FirstOrDefaultAsync(w => w.Password == auth.Password && w.Username == auth.Username); if (user is null) { return(Unauthorized()); } var token = (ulong)(((long)Random.Next() << 32) + Random.Next()); UsersContext.Tokens.Add(new Token { User = user, TokenValue = token }); await UsersContext.SaveChangesAsync(); return(Ok(new { token })); }
public IActionResult Login(AuthenticationLoginModel model) { if (ModelState.IsValid) { var user = _authContext.Users.SingleOrDefault(x => x.Login == model.UserName && x.Password == model.Password.Sha256()); if (user != null) { var isUser = new IdentityServerUser(user.ID.ToString()) { DisplayName = $"{user.Firstname} {user.Name}" }; HttpContext.SignInAsync(isUser); } ModelState.AddModelError("UserName", "Login / mot de passe invalide"); } return(View()); }