示例#1
0
        public async Task <ActionResult> login(LoginRequest login)
        {
            if (!ModelState.IsValid)
            {
                string error = "Entradas incorrectas";
                foreach (var state in ModelState)
                {
                    foreach (var item in state.Value.Errors)
                    {
                        error += $" {item.ErrorMessage}";
                    }
                }
                return(BadRequest(error));
            }
            Conductor conductor = await new LConductor(_context).login(login);

            if (conductor == null)
            {
                string mensaje = "Usuario y/ o contraseña incorrecta";
                return(BadRequest(mensaje));
            }
            else
            {
                var JWT_SECRET_KEY     = _configuration["JWT_SECRET_KEY"];
                var JWT_AUDIENCE_TOKEN = _configuration["JWT_AUDIENCE_TOKEN"];
                var JWT_ISSUER_TOKEN   = _configuration["JWT_ISSUER_TOKEN"];
                var JWT_EXPIRE_MINUTES = _configuration["JWT_EXPIRE_MINUTES"];

                var token = TokenGeneratorCo.GenerateTokenJwt(conductor, JWT_SECRET_KEY, JWT_AUDIENCE_TOKEN, JWT_ISSUER_TOKEN, JWT_EXPIRE_MINUTES, _context);
                //LCerrarSesionConductor conexion = new LCerrarSesionConductor(_context);
                //AccesoConductor acceso = new AccesoConductor();
                //acceso.FechaInicio = DateTime.Now;
                //acceso.Ip = conexion.ip();
                //acceso.Mac = conexion.mac();
                //acceso.Session = token.ToString();
                //acceso.IdConductor = conductor.IdConductor;
                //await new LCerrarSesionConductor(_context).insertarAcceso(acceso);

                return(Ok(token));
            }
        }
示例#2
0
        public async Task <IHttpActionResult> login(LoginRequest login)
        {
            if (!ModelState.IsValid)
            {
                string error = "Entradas incorrectas";
                foreach (var state in ModelState)
                {
                    foreach (var item in state.Value.Errors)
                    {
                        error += $" {item.ErrorMessage}";
                    }
                }
                return(BadRequest(error));
            }
            Conductor conductor = await new LConductor().login(login);

            if (conductor == null)
            {
                string mensaje = "Usuario y/ o contraseña incorrecta";
                return(BadRequest(mensaje));
            }
            else
            {
                var token = TokenGeneratorCo.GenerateTokenJwt(conductor);
                LCerrarSesionConductor conexion = new LCerrarSesionConductor();
                AccesoConductor        acceso   = new AccesoConductor();
                acceso.FechaInicio = DateTime.Now;
                acceso.Ip          = conexion.ip();
                acceso.Mac         = conexion.mac();
                acceso.Session     = token;
                acceso.IdConductor = conductor.IdConductor;
                await new LCerrarSesionConductor().insertarAcceso(acceso);

                return(Ok(token));
            }
        }