示例#1
0
        public IActionResult TrainerLogin(DTOTrainers data)
        {
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                               password: data.trainerPassword,
                                                               salt: salt,
                                                               prf: KeyDerivationPrf.HMACSHA256,
                                                               iterationCount: 100000,
                                                               numBytesRequested: 256 / 8));

            var trainer = db.Trainers.FirstOrDefault(x => x.TEmail == data.trainerEmail);

            if (!db.Trainers.Any(x => data.trainerEmail == x.TEmail) || !db.Trainers.Any(x => hashedPassword == x.TPassword || data.trainerPassword == x.TPassword))
            {
                return(NotFound());
            }

            var jwt = jwtService.Generate(trainer.Id);

            Response.Cookies.Append("jwt", jwt, cookieOptions);

            return(Ok(new
            {
                message = "success",
                Username = trainer.TUsername
            }));
        }
示例#2
0
        public string TrainerRegistration(DTOTrainers data)
        {
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                               password: data.trainerPassword,
                                                               salt: salt,
                                                               prf: KeyDerivationPrf.HMACSHA256,
                                                               iterationCount: 100000,
                                                               numBytesRequested: 256 / 8));
            var trainer = new Trainer(data.trainerEmail, hashedPassword, data.trainerUsername);

            if (db.Trainers.ToList().Count < 3)
            {
                db.Trainers.Add(trainer);
                db.SaveChanges();
                return("added");
            }
            else
            {
                return("not added");
            }
        }