Ejemplo n.º 1
0
        public async Task <IActionResult> Login([FromBody] Compte compte)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("compte", "Invalide");
                return(BadRequest(ModelState));
            }

            if (!repository.FindByMatricule(compte.Matricule))
            {
                ModelState.AddModelError("Matricule", "Ce matricule ne possède pas de compte");
                return(BadRequest(ModelState));
            }

            var current = await repository.Find(compte.Matricule);

            if (compte.Passhash != current.Passhash)
            {
                ModelState.AddModelError("Passhash", $"Mot de passe incorrect {compte.Passhash} et {current.Passhash}");
                return(BadRequest(ModelState));
            }

            HttpContext.Session.SetString("compte", JsonConvert.SerializeObject(current));

            return(Ok(current));
        }