¿Sabías que tu aplicación con Node.js, esa que tienes con login de usuarios no es suficientemente segura? ¡Pero espera, no te vayas! Hay un middleware muy bueno que te ayudará a mejorarlo.
¿Sabes qué es un middleware?
Es un código que ayuda a una aplicación para interactuar o comunicarse con otras aplicaciones, paquetes de programas, redes, hardware o sistemas operativos.
Ahora, ¿cómo puedo mejorar la seguridad de mi login de usuarios?
Para eso ha llegado a tu salvación Passport.js, un middleware de autenticación para Node. Está diseñado para servir a un propósito singular que es autenticar solicitudes. No es práctico almacenar la contraseña del usuario como la cadena original en la base de datos, pero es una buena práctica cifrar la contraseña y luego almacenarla en la base de datos.
Proporciona también una capa de abstracción sobre el inicio de sesión con varios proveedores como Facebook, Google, Github, Twitter y más.
Passport.js puede ser confuso al principio,pero cuando lo aprendes a manejar, verás que es muy fácil usarlo, incluso en aplicaciones que están estructuradas de distintos modos.
Aquí hay un simple ejemplo de cómo podemos registrar un usuario usando Facebook:
const passport = require('passport')
const FacebookStrategy = require('passport-facebook').Strategy;
passport.use(new FacebookStrategy({
clientID: FACEBOOK_APP_ID,
clientSecret: FACEBOOK_APP_SECRET,
callbackURL: "http://www.example.com/auth/facebook/callback"
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate(..., function(err, user) {
if (err) { return done(err); }
done(null, user);
});
}
));
Es un poco confuso sí, pero lo que estamos haciendo es recoger las credenciales para dárselas a Facebook, mandarle la URL a la cual hará el fallback de registro y luego en la función lo que hacemos es registrar el usuario o buscar si ya está registrado e iniciar sesión.
¿Interesante y corto cierto? Pues créeme que es muy fácil manejar Passport para hacer autenticación de usuarios, pero, ¿qué tal si unimos Passport con OpenID Connect para darle autorización a los usuarios y darle más seguridad a nuestra aplicación?
Pues aprende esto y mucho más en nuestro Curso de Flujos de Autenticación con OAuth y OpenID Connect y 🏃 para que tus aplicaciones sean seguras y no puedan robarte fácilmente datos de nuestros usuarios.
#NuncaParesDeAprender 🤓 💪
Curso de OAuth 2.0 y OpenID Connect: Flujos de Autenticación y Casos de Estudio