5 Librerias Javascript Gratis Para la Autenticación de Usuarios



Nos interesa la seguridad: la autenticación es una cuestión importante a la hora de crear una aplicación web dinámica.

La autenticación es para identificar a los usuarios y proporcionar diferentes derechos de acceso y contenido dependiendo de su identificación. Dado que aparecen nuevos tutoriales en la web y más gente trata de entender la ecuación costo-beneficio para implementar su propia solución en lugar de usar una biblioteca o servicio, hemos reunido una breve reseña de lo que hay ahí fuera.

Veamos.

 

1. Passport JS


Passport es un middleware de autenticación compatible con Express para Node.js.

El único propósito de Passport es autenticar las solicitudes, lo que se hace a través de un conjunto extensible de plugins conocidos como estrategias. Passport no monta rutas ni asume ningún esquema de base de datos en particular, lo que maximiza la flexibilidad. La API es simple: se proporciona a Passport una solicitud de autenticación, y Passport proporciona los hooks/ganchos para controlar lo que ocurre cuando la autenticación tiene éxito o falla.

Passport es probablemente la forma más común de utilizar una librería externa para la autenticación del los usuarios por parte de los desarrolladores. Básicamente, en una librería relativamente flexible y modular que puede ser integrada en cualquier aplicación web basada en Express.
 

2. Permit

Antes de Permit, la única opción real para las bibliotecas de autenticación en Node.js era Passport.js. Permit permite añadir una capa o layer de autenticación a cualquier API de Node.js. Se puede utilizar con server frameworks populares como Express, Koa, Hapi, Fastify y se puede utilizar para cualquier tipo de API (p.ej. REST, GraphQL, etc.) debido a su diseño simple y sin opciones.

Permit le permite autenticarse a través de los dos esquemas que la mayoría de las APIs necesitan: un único token secreto o un conjunto de credenciales de nombre de usuario y contraseña. Por ejemplo, he aquí cómo autenticar un token :

 

 

import { Bearer } from 'permit'
// A permit that checks for HTTP Bearer Auth, falling back to a query string.
const permit = new Bearer({
query: 'access_token',
})
async function handler({ req, res }) {
// Try to find the bearer token in the request.
const token = permit.check(req)
// No token, that means they didn't pass credentials!
if (!token) {
permit.fail(res)
throw new Error(`Authentication required!`)
}
// Authenticate the token however you'd like...
const user = await db.users.findByToken(token)
// No user, that means their credentials were invalid!
if (!user) {
permit.fail(res)
throw new Error(`Authentication invalid!`)
}
// They were authenticated, so continue with your business logic...
...
}

 


Dado que Permit no está estrechamente vinculado a un framework o modelo de datos, le ofrece un control total sobre cómo escribir su lógica de autenticación, del mismo modo que lo haría con cualquier otro gestor de solicitudes.

Diferencias entre Permit y Passport:

Passport no se centra en la autenticación de APIs. Passport se centra en la autenticación de aplicaciones web con servicios como Facebook, Twitter y GitHub. Las APIs no necesitan eso, así que todo esto podría significar trabajo extra.

Pasaporte está bien acoplado a Express. Si usas Koa, Hapi, Fastify, o algún otro framework, tienes que hacer todo lo posible para que funcione bien.

Otros middleware están estrechamente acoplados a él. Passport almacena datos nel req object, por lo que el resto de los middlewares están estrechamente vinculados a su implementación, lo que hace que su base de código sea frágil.

Por eso, es muy difícil hacer un debug. Debido a la arquitectura de caja negra de Passport, siempre que necesite depurar un problema, tendrá que seguir su lógica a través de muchas capas y muchos repositorios.

No tiene un mantenimiento constante. El enfoque de Passport en los proveedores de OAuth significa que utiliza una gran cantidad de repositorios, muchos de los cuales ya no son mantenidos activamente.

 

3. Grant

Una biblioteca relativamente nueva y prometedora con más de 180 proveedores compatibles y un playground para Express, Koa y Hapi con OAuth Middleware. Si deseas utilizarlo con su propio proveedor privado de OAuth, puede especificar la clave necesaria. Aunque esta librería ya tiene seguidores (+ 1 K estrellas), tiene relativamente pocos recursos, así que pruebala pero ten cuidado.

 

4. Feathers

Feathers es un framework web de código abierto para NodeJS que te permite controlar sus datos a través de recursos RESTful, sockets y plug-ins flexibles en tiempo real. Feathers también ofrece módulos de administración de autenticación que te permiten agregar verificación, restablecimiento de contraseñas y muchas otras funciones.

La idea general es combinar múltiples métodos de autenticación en una única infraestructura flexible.

 

5. Firebase Authentication

La autenticación Firebase es útil si quieres proporcionar a tus usuarios privilegios de lectura/escritura a través de reglas de seguridad.

Firebase Auth incluye un sistema de gestión de usuarios. Puede guardar algunos datos básicos, ofrecer múltiples métodos de acceso (correo electrónico/contraseña, Google, Facebook...) y vincular las cuentas de sus usuarios a una sola cuenta de usuario de Firebase Auth. Auth también proporciona integraciones en su sistema de autenticación preexistente para que su aplicación pueda aprovechar las reglas de seguridad de Firebase.

Firebase puede no ser la solución a largo plazo para la gestión de la autenticidad de los usuarios en una plataforma escalable. Pero es una forma muy útil a la hora de empezar ya que su curva de aprendizaje es relativamente rápida.

 

 

 

Business vector created by rawpixel.com - www.freepik.com

 

 

 

 
by admin Date: 07-06-2019 javascript frameworks librerias autenticacion visitas : 415  
 
 
 
 

Artículos relacionados