18

A tu autenticación le hace falta verificación

24016Puntos

hace 5 años

¿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 🤓 💪

Daniel
Daniel
danestves

24016Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
796Puntos

Muy buen post, ideal para aquellos logins vulnerables y grandes empresas

2

Interesante artículo. No tenía idea de qué era “Passport.js”. Gracias.

2

Muhas gracias @danestves, buen aporte para fortalecer e implementar en la capa de seguridad.

2
14273Puntos

pues muy interesante! Creo que este será mi siguiente curso 💪

1
124Puntos

Your article makes me more experienced and impressed, I hope you will have more good posts in the near future to share with readers. mapquest driving directions