コード例 #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));
            }
            Cliente cliente = await new LCliente(_context).login(login);

            if (cliente == 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 = TokenGeneratorCl.GenerateTokenJwt(cliente, JWT_SECRET_KEY, JWT_AUDIENCE_TOKEN, JWT_ISSUER_TOKEN, JWT_EXPIRE_MINUTES, _context);
                //ClienteTokenLogin token1 = new ClienteTokenLogin();
                //token1.FechaGenerado = DateTime.Now;
                //token1.FechaVigencia = DateTime.Now.AddMinutes(Convert.ToInt32(JWT_EXPIRE_MINUTES));
                //token1.IdCliente = cliente.IdCliente;
                //token1.Token = TokenGeneratorCl.GenerateTokenJwt(cliente, JWT_SECRET_KEY, JWT_AUDIENCE_TOKEN, JWT_ISSUER_TOKEN, JWT_EXPIRE_MINUTES, _context);
                //await new LCliente(_context).guardarToken(token1);

                //LCerrarSesionCliente conexion = new LCerrarSesionCliente(_context);
                //AccesoCliente acceso = new AccesoCliente();
                //acceso.FechaInicio = DateTime.Now;
                //acceso.Ip = conexion.ip();
                //acceso.Mac = conexion.mac();
                //acceso.Session = token1.Token;
                //acceso.IdCliente = cliente.IdCliente;
                //await new LCerrarSesionCliente(_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));
            }
            Cliente cliente = await new LCliente().login(login);

            if (cliente == null)
            {
                string mensaje = "Usuario y/o contraseña incorrecta";
                return(BadRequest(mensaje));
            }
            else
            {
                var token = TokenGeneratorCl.GenerateTokenJwt(cliente);
                LCerrarSesionCliente conexion = new LCerrarSesionCliente();
                AccesoCliente        acceso   = new AccesoCliente();
                acceso.FechaInicio = DateTime.Now;
                acceso.Ip          = conexion.ip();
                acceso.Mac         = conexion.mac();
                acceso.Session     = token;
                acceso.IdCliente   = cliente.IdCliente;
                await new LCerrarSesionCliente().insertarAcceso(acceso);

                return(Ok(token));
            }
        }