Configuración de Autenticación en Proyectos Mongo y TimeORM
Clase 2 de 22 • Curso de NestJS: Autenticación con Passport y JWT
Contenido del curso
- 11

Implementación de JSON Web Tokens en APIs para Autenticación Segura
09:42 - 12

Implementación de JWT en Módulo de Autenticación con Variables de Entorno
17:15 - 13

Estrategia y Guardia de Autenticación con JWT en NestJS
16:38 - 14

Extensión de Guardianes JWT en NestJS para Endpoints Públicos
12:39 - 15

Control de Roles y Permisos con JSON Web Tokens en TypeScript
23:08 - 16
Creación de Endpoints Seguros con JWT en NestJS
02:13
- 17

Configuración y Despliegue de MongoDB Atlas en Heroku
06:24 - 18

Configuración de Variables de Entorno en Heroku para MongoDB
16:25 - 19

Configuración de PostgreSQL en Heroku para Node.js
07:32 - 20

Configuración de Conexiones a Base de Datos en Heroku y Entorno Local
11:24 - 21

Migraciones con TimeORM en Producción: Configuración y Ejecución
20:41
¿Cómo iniciar el proyecto de Platzi Store y configurar autenticación en Mongo?
Iniciar un proyecto desde cero puede ser un desafío, pero con las instrucciones correctas, el proceso se vuelve mucho más manejable. Este es el caso de nuestro proyecto de Platzi Store, que se inicia a partir del código base previamente establecido en otro curso de Mongo. Además, es fundamental tener en cuenta la técnica de autenticación, la cual, sin importar el tipo de persistencia de datos, se mantendrá igual. Este tutorial se centra en comenzar a trabajar con Mongo y preparar el entorno para la autenticación y autorización.
¿Cómo clonar el proyecto desde Platzi?
El primer paso para trabajar en el proyecto de Mongo es clonar el repositorio desde GitHub. Te indicamos cómo hacerlo:
-
Abre la terminal en tu computadora.
-
Clona el proyecto desde la rama
masterdel siguiente repositorio:platzi/nesdsds mongodatos. Asegúrate de tener acceso al repositorio. -
Una vez clonado, instala las dependencias necesarias con el comando
npm install.git clone https://github.com/platzi/nesdsds-mongodatos.git cd nesdsds-mongodatos npm install -
Para mantener una copia local, desvincula el repositorio original y haz que tu proyecto quede en tu propio repositorio. Esto se hace mediante los comandos:
git remote rm origin git remote add origin <tu-nuevo-repositorio>
¿Cómo configurar las variables de entorno?
Las variables de entorno son cruciales para la configuración del proyecto. Estas se gestionan mediante archivos locales que no deben subirse al repositorio por razones de seguridad. Aquí los pasos:
-
Crea el archivo
.env.stagingpara definir el entorno de desarrollo o producción. -
Replica las mismas variables utilizadas previamente o configúralas acorde a las necesidades del nuevo entorno en el que estés trabajando.
DB_HOST=localhost DB_USER=<tu_usuario> DB_PASS=<tu_contraseña>
¿Cómo correr el proyecto en modo desarrollo?
Después de configurar tus variables de entorno y de haber clonado el repositorio, es momento de correr tu proyecto localmente:
-
Asegúrate que el servicio de bases de datos Mongo está corriendo. Si estás utilizando contenedores, inicializa el servicio adecuado.
-
Verifica que Mongo se está ejecutando correctamente en el puerto designado.
docker-compose up -d -
Inicia el proyecto en modo desarrollo usando el siguiente comando:
npm run start:dev
¿Cómo verificar el funcionamiento de los endpoints?
Para verificar el correcto funcionamiento de los endpoints, puedes utilizar herramientas como Insomnia o Postman. Estos permiten testear las solicitudes HTTP a tus endpoints creados para el proyecto.
-
Crea y consulta productos, y asegúrate de que las respuestas sean las esperadas desde tu proyecto de MongoDB.
Puedes probar creando un producto con:
{ "name": "producto-nuevo", "price": 50, "description": "Un nuevo producto de prueba" }
Y luego confirmar su creación mediante la consulta de productos disponibles.
Establecer una arquitectura sólida desde el principio te permitirá añadir capas adicionales de funcionalidades, como autenticación y autorización, en etapas posteriores sin mucho esfuerzo. Mantente atento a la siguiente lección, donde se abordará la configuración en un entorno relacional con TimeORM.