/ / Passport.js práctico para el inicio de sesión simple - node.js, authentication, passport.js, jwt

Passport.js práctico para el inicio de sesión simple - node.js, authentication, passport.js, jwt

Estoy diseñando mi sistema de autenticación de usuario usandoNode.js / Express, y como he estado buscando estrategias de autenticación en la web, noté que muchos desarrolladores recomiendan passport.js para ayudar con la autenticación.

Mi autenticación solo utilizará unaestrategia de usuario / contraseña con tokens web JSON. Bajo esa suposición, parece que tengo que administrar la autenticación completa por mi cuenta: compruebo el nombre de usuario y la contraseña con la base de datos, y verifico y adjunto JWTs. Parece que Passport solo envuelve mi trabajo dentro de sus propias funciones.

Con solo una estrategia de nombre de usuario / contraseña, ¿para qué sirve Passport? ¿Qué proporciona Passport en este escenario que es realmente beneficioso para mí simplemente realizar la autenticación sin él?

Respuestas

0 para la respuesta № 1

El pasaporte te da más flexibilidad yescalabilidad Ahora, necesita una estrategia específica, pero en el futuro puede agregar o eliminar la anterior. El uso de módulos como el pasaporte hace que el código de su aplicación sea independiente de algunos procesos. Es casi como una inyección de dependencia, se inyecta la estrategia en el código opuesto.

Creo que esa buena aplicación debería tener tanto como sea posible funciones / módulos, que permitan inyectar políticas / estrategias. Módulos separados también es nodejs / estilo expreso.

Si codifica su autenticación en el mismo estilo, entonces es super (pero ¿por qué reinventar la rueda).

Usando el pasaporte puede heredar de la estrategia base y crear una nueva estrictamente para sus necesidades y usarla con otras estrategias.


0 para la respuesta № 2

A menos que realmente desee implementar un marco de referencia y tiene todos los recursos del mundo para hacerlo, todos los conocimientos necesarios y las personas clave (como OWASP), etc., etc.

Usa la biblioteca existente para tu proyecto

Utilice una biblioteca, o un marco, que es de código abiertoy batalla probada. Sí, no será perfecto y tendrá limitaciones. Sí, puede que no sea el código más seguro de todos. PERO será mucho mejor que el tuyo, especialmente si estás empezando desde cero.

Luego siga las mejores prácticas para CSRF, XSS, DDoS y otro tipo de prevención de ataques.