Diseño de APIs con Node.js
🔥 Nuevo Curso: Programa Snake desde cero con JavaScript 🔥

Proteger Rutas con Autenticación Básica (Usuario y Password)

Descripción

* Definimos que significa “proteger” una ruta con autenticación
* En pocas palabras, un middleware se encarga de verificar si las credenciales son correctas
* Configuramos a Passport para que utilice la estrategia básica de autenticación
* Recuerda que debemos definir una función la cual se encargue de validar si credenciales (usuario / contraseña) son válidas

* Esta función usualmente llamaría a una base de datos, pero como todavía no tenemos una para los usuarios hacemos ‘hardcoding’ de credenciales directamente en la función
* Solo el usuario ‘daniel’ con contraseña ‘appdelante123’ se podrá autenticar
* Accesamos una ruta protegida mediante un navegador
* Este método de autenticación no es muy bueno para un servicio. Incluir username y password en cada request es inseguro y le da más trabajo al consumidor de nuestro servicio.
* En lugar de este método vamos a utilizar uno llamado JSON Web Tokens (JWT). Con JWT solo tendremos que procesar la contraseña de cada usuario una vez. Al verificar que las credenciales son correctas, enviaremos al usuario un token que les da acceso temporal a las rutas protegidas. Este sistema es muy similar al que compañías como Twitter utilizan.