示例#1
0
        public IActionResult LoginDoctor(ELogin eLogin)
        {
            EOutDoctorLogin eOutLogin = iRepositorioAuth.LoginDoctor(eLogin);

            if (eOutLogin == null)
            {
                var badResult = BadRequest(new { message = "Usuario y/o contraseña incorrectos" });
                return(badResult);
            }

            return(Ok(eOutLogin));
        }
示例#2
0
        public EOutDoctorLogin LoginDoctor(ELogin eLogin)
        {
            EOutDoctorLogin eOutDoctorLogin = null;

            using (var context = new cita_doctorContext())
            {
                string pass = Hash.Crear(eLogin.Password, "jor290714luc300617");

                var doctor = (from ilDoctore in context.Doctor
                              .Where(doc => (doc.Email.Equals(eLogin.Username) && doc.Password.Equals(pass)))
                              select ilDoctore);

                if (doctor.ToList().Count == 0)
                {
                    return(eOutDoctorLogin);
                }

                var secretKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("MySp$cialPassw0rd"));
                var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(
                    issuer: "http://localhost:4200",
                    audience: "http://localhost:4200",
                    claims: new List <Claim>(),
                    expires: DateTime.Now.AddMinutes(1440),
                    signingCredentials: signinCredentials
                    );

                var tokenString = new JwtSecurityTokenHandler().WriteToken(token);

                eOutDoctorLogin = new EOutDoctorLogin()
                {
                    Token     = tokenString,
                    ExpiresIn = token.ValidTo,
                    Doctor    = _mapper.Map <EOutDoctor>(doctor.ToList()[0]),
                    Tipo      = "doctor"
                };

                return(eOutDoctorLogin);
            }
        }