Diferencia entre pasaporte y pasaporte JWT (con tabla)

La autenticación es una fuente primaria de seguridad para todas las aplicaciones web y móviles. Para identificar que el usuario es genuino y el usuario tiene el privilegio de acceder a las aplicaciones web, la autenticación es muy útil.

Pasaporte vs pasaporte JWT

La diferencia entre Passport y Passport-JWT es que Passport no tiene ningún método particular para la autenticación, sino que muchos métodos se implementan utilizando el pasaporte como estrategias de autenticación, mientras que Passport-JWT es una estrategia que utiliza el método de token web utilizando el pasaporte para la autenticación.

Passport es un javascript que ayuda a los desarrolladores al proporcionar muchas estrategias de autenticación y al integrarse proporcionará una autenticación segura. Hay muchos frameworks express js y passport actúa como un middleware para estos al proporcionar autenticación.

Passport es un middleware para la autenticación en Node y Passport-JWT es una estrategia de JWT para proporcionar autenticación para las aplicaciones. Passport-JWT es el subconjunto de passport javascript. JWT es un token web JSON y se implementa mediante pasaporte javascript.


 

Tabla de comparación entre Passport y Passport JWT (en forma tabular)

Parámetro de comparaciónPasaportePasaporte-JWT
PropósitoEs un middleware utilizado en el nodo para la autenticación. Es flexible y modular.Es una estrategia específica implementada con la ayuda de pasaporte para proporcionar autenticación.
MétodosNo tiene ningún método en particular para la implementación y usa el método oAuth.Utilice el método JSON Web Token para implementar la autenticación.
EstrategiaPassport utiliza 'local' para la estrategia local para autenticar las solicitudes.Passport-JWT usa la estrategia JWT usando la siguiente sintaxis,
new JwtStrategy (opciones, verificar)
TextoLa estrategia de pasaporte local tiene un script tanto de retorno como de finalización. Espera datos de retorno del método.Passport-JWT no necesita ningún tipo de retorno y solo ha hecho script.
Llamar de vueltaLa estrategia de pasaporte local utiliza cierres y devoluciones de llamada personalizadas. Antes de manejar los datos del usuario, se debe llamar al método req.login ().La estrategia Passport-JWT también utiliza cierres y devoluciones de llamada personalizadas, pero aquí el token JWT se generará después de la verificación del usuario. Jwt.sign ()

 

¿Qué es el pasaporte?

Passport es un software intermedio que se utiliza para proporcionar autenticación mediante nombre de usuario y contraseña. Este es solo un módulo en la aplicación node.js que está involucrado en proporcionar autenticación y es modular y extremadamente flexible.

Passport se puede integrar discretamente en cualquier aplicación web basada en express que admita middleware de estilo 'Connect'. Passport es un middleware con un conjunto de estrategias que admite la autenticación.

Tiene sus propias características y eso brinda más beneficios. Las características son,

  1. Inicio de sesión único con OpenID y OAuth
  2. Más estrategias de autenticación alrededor de 300+
  3. Elija las estrategias requeridas y elija según el requisito
  4. El éxito y el fracaso se manejan fácilmente
  5. También puede implementar estrategias personalizadas
  6. Proporciona un alcance dinámico
  7. La base del código es liviana

La estrategia de autenticación local proporciona autenticación con la ayuda de credenciales como nombre de usuario y contraseña. Realiza una devolución de llamada de verificación aceptando las credenciales y finalmente proporciona al usuario la llamada realizada.

Passport.authenticate usa 'local' para la estrategia local para autenticar las solicitudes.

 

¿Qué es Passport JWT?

También es una de las estrategias de pasaporte para proporcionar autenticación mediante JSON Web Token. Esta estrategia de pasaporte es también uno de los muchos módulos que brindan servicio de autenticación.

Con el token web JSON, este módulo autentica los puntos finales. Además, este módulo sin sesiones asegura los puntos finales RESTful.

Sintaxis para instalar passport-jwt,

npm instalar passport-jwt

Estrategia de autenticación de la siguiente manera,

new JwtStrategy (opciones, verificar)

'options' no es más que un objeto literal para administrar el token web extraído de la solicitud. Para verificar el token entrante, passport-jwt usa jsonwebtoken.

Hay numerosas formas de pasar la solicitud de token JWT. También es modular y flexible, lo que se suma al uso del parámetro jwtFromRequest, que es la devolución de llamada proporcionada por el usuario. JWT se pasa como una solicitud.

La devolución de llamada mencionada anteriormente se conoce como extractor. Passport-jwt.ExtractJwt proporciona muchas funciones de fábrica de extractores.

  1. fromHeader (header_name): el extractor se creará buscando JWT en el encabezado
  2. fromBodyField (field_name): el extractor se creará buscando JWT en el cuerpo

Principales diferencias entre Passport y Passport JWT

  1. Tanto Passport como Passport-JWT son módulos para proporcionar autenticación utilizando sus propias estrategias. Son fáciles y convenientes de usar por varias razones. La principal diferencia entre Passport y Passport-JWT Passport no tiene ningún método particular de implementación, mientras que Passport-JWT ya es una estrategia que utiliza el método JSON Web Token JWT para implementar la autenticación.
  2. Passport usa 'local' para una de sus estrategias llamada Passport-local para autenticar las solicitudes, mientras que Passport-JWT usa la estrategia JWT usando la siguiente sintaxis: new JwtStrategy (opciones, verificar)
  3.  Passport es modular y flexible, tiene un script de retorno que espera arrojar datos de retorno del método, mientras que la estrategia Passport-JWT no tiene un script de retorno y no necesita devolver ningún dato de forma obligatoria.
  4. En los aspectos de cierres y devolución de llamada, Passport llama al método req.login () antes de manejar los datos del usuario, mientras que Passport-JWT llama al método Jwt.sign () después de la verificación del usuario.
  5. Passport es un javascript y es un middleware y se puede integrar en cualquier aplicación web basada en express, mientras que Passport-JWT es un subconjunto de Passport y usa token para autenticar los puntos finales.

 

Conclusión

La autenticación es imprescindible para todas las aplicaciones, ya que proporciona seguridad para acceder a las aplicaciones web y móviles. Muchas herramientas y marcos ofrecen muchas técnicas de autenticación para brindar seguridad. Passport js y Passport-JWT también son una de las muchas técnicas o estrategias de autenticación que brindan autenticación a las aplicaciones.

Passport es un javascript que no tiene ningún método específico para la autenticación, sino que es compatible con oAuth y se puede integrar con cualquier aplicación web basada en express. Es un middleware y es modular y flexible. Tiene más de 300 estrategias de autenticación y una de ellas es Passport-JWT. Passport-JWT es un subconjunto de passport y esta estrategia tiene su propio método de autenticación mediante JSON Web Token.

Este módulo autentica los puntos finales utilizando un token web JSON. Tanto Passport como Passport-JWT tienen sus propias estrategias para proporcionar autenticación y cualquiera de las dos estrategias anteriores se puede implementar en una aplicación según los requisitos del usuario.


Referencias

  1. http://www.passportjs.org/packages/passport-jwt/
  2. https://itnext.io/implementing-json-web-tokens-passport-js-in-a-javascript-application-with-react-b86b1f313436
x
2D vs 3D