El objetivo de este tutorial es utilizar passport para autenticar usuarios en una aplicación web utilizando MongoDB + Express + Node. Estructura del proyecto — models —- user.js — routes —- index.js — passport.js — views —- index.jade — server.js — package.json Instalamos las dependencias que vamos a utilizar con el comando npm install. Creamos un modelo user /models/user.js donde indicaremos que datos vamos a querer almacenar en la base de datos para nuestros usuarios: var mongoose = require(‘mongoose’); var Schema = mongoose.Schema; module.exports = mongoose.model(‘User’, new Schema({ name: String, provider: String, provider_id: {type: String, unique: true}, createdAt: {type: Date, default: Date.now} })); Configuramos… Continuar leyendo


La autenticación es una de las grandes partes de cada aplicación y la seguridad es siempre algo que está cambiando y evolucionando. En la actualidad, una de las formas más utilizada para añadir seguridad a un API es utilizando JSON Web Tokens. El objetivo de este tutorial es implementar la autenticación por token para una aplicación web basada en: MongoDB + Express + Node. Antes de empezar con este tutorial te recomiendo que primeramente empieces con este: Tutorial: Crear API RESTful utilizando Node.js + Express.js + MongoDB Estructura del proyecto —- models/ ——– user.js – config.js – package.json – server.js – middleware.js -… Continuar leyendo


Json Web Token es un conjunto de medios de seguridad para peticiones http y así representar demandas para ser transferidos entre dos partes (cliente y servidor). Las partes de un JWT se codifican como un objeto JSON que está firmado digitalmente utilizando JSON Web Signature( JWS ). ¿Por qué utilizar Json Web Token? La mayoría de las aplicaciones actuales consumen servicios rest y están alojadas en distintos dominios con lo cuál no podemos trabajar con sesiones ya que se almacenan en este. Podemos decir que la mejor alternativa es llevar a cabo la autenticación haciendo uso de tokens que vayan del… Continuar leyendo


El objetivo de este tutorial es empezar a desarrollar profesionalmente utilizando el Stack MEAN: MongoDB + Express + Angular + Node. Vamos a crear una SPA (Single Page Aplication) con Angular, utilizaremos un API REST (Express + Node) con MongoDB como base de datos. Estructura del proyecto MeanApp — app // Backend —- models —— client.js —- controllers —— clients.js —- routes.js — public // Frontend —- index.html —- main.js — server.js // Express Server — package.json Empezaremos por package.json para indicar que dependencias vamos a necesitar: { «name»: «nodejs-angular-apirest», «version»: «1.0.0», «description»: «MEAN stack», «main»: «server.js», «dependencies»: { «body-parser»: «~1.13.2»,… Continuar leyendo


El primer paso para implementar un proyecto moderno es la construcción de un API REST que podemos consumir desde una aplicación web o móvil. En el presente tutorial utilizaré las tecnologías Node.js y MongoDB como base de datos para crear un API RESTful. Como framework para Node.js, utilizaré Express.js (versión 4) con MongoDB. Una API RESTful es un conjunto de operaciones bien definidas que se aplican a todos los recursos de información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD en bases de datos… Continuar leyendo


Continuando con el anterior artículo, en ésta ocasión les quiero mostrar el servicio de archivos estáticos en Express. Para el servicio de archivos estáticos como, por ejemplo, imágenes, archivos CSS y archivos JavaScript, utilice la función de middleware incorporado express.static de Express. Pase el nombre del directorio que contiene los activos estáticos a la función de middleware express.static para empezar directamente el servicio de los archivos. Por ejemplo, utilice el siguiente código para el servicio de imágenes, archivos CSS y archivos JavaScript en un directorio denominado public: app.use(express.static(‘public’)); Ahora, puede cargar los archivos que hay en el directorio public: http://localhost:3000/images/kitten.jpg http://localhost:3000/css/style.css http://localhost:3000/js/app.js… Continuar leyendo


Continuando con el anterior artículo, en ésta ocasión les quiero mostrar el direccionamiento básico de Express.js El direccionamiento hace referencia a la determinación de cómo responde una aplicación a una solicitud de cliente en un determinado punto final, que es un URI (o una vía de acceso) y un método de solicitud HTTP específico (GET, POST, etc.). Cada ruta puede tener una o varias funciones de manejador, que se excluyen cuando se correlaciona la ruta. La definición de ruta tiene la siguiente estructura: app.METHOD(PATH, HANDLER) Donde: app es una instancia de express. METHOD es un método de solicitud HTTP. PATH es… Continuar leyendo


Continuando con el anterior artículo, en ésta ocasión les quiero mostrar la herramienta que genera aplicaciones, express, para crear rápidamente un esqueleto de aplicación. Instale express con el siguiente mandato: $ npm install express-generator -g Muestre las opciones de mandato con la opción -h: $ express -h Usage: express [options][dir] Options: -h, –help output usage information -V, –version output the version number -e, –ejs add ejs engine support (defaults to jade) –hbs add handlebars engine support -H, –hogan add hogan.js engine support -c, –css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css) –git add .gitignore -f, –force force on… Continuar leyendo


¿Qué es Express? Es una infraestructura web rápida, minimalista y flexible para Node.js   Características: Aplicaciones web: Express es una infraestructura de aplicaciones web Node.js mínima y flexible que proporciona un conjunto sólido de características para las aplicaciones web y móviles. API: Con miles de métodos de programa de utilidad HTTP y middleware a su disposición, la creación de una API sólida es rápida y sencilla.  Rendimiento: Express proporciona una delgada capa de características de aplicación web básicas, que no ocultan las características de Node.js que tanto ama y conoce. Instalación Suponiendo que ya ha instalado Node.js, cree un directorio para que contenga la… Continuar leyendo


¿Qué es electron? Electron es un framework que permite la creación de aplicaciones de escritorio utilizando JavaScript puro, a través de un runtime con APIs nativas, enfocado en aplicaciones de escritorio, en vez de servidores web, es de código abierto y multiplataforma (funciona bajo Linux, Mac y Windows). Esto no significa que Electron sea un binding de librerías GUI para JavaScript. Electron utiliza páginas web como su GUI, por lo cual puedes verlo como un navegador Chromium mínimo, controlado por JavaScript. Compañías como Microsoft, Facebook, Slack y Docker utilizan esta plataforma. Electron en acción Primeramente para continuar necesitas tener instalado Node.js, para luego… Continuar leyendo