экспресс-jwt против jsonwebtoken

У меня такое чувство, что это будет быстрый ответ, но я не могу найти каких-либо четких ответов в Интернете — в чем разница между пакетом jsonwebtoken npm и пакетом express-jwt npm? Я думаю, что express-jwt написан поверх jsonwebtoken и просто проверяет входящие токены и устанавливает req.user для полезной нагрузки пользователя на JWT.

Это правильно? Извините, если это совсем нубский вопрос... Я только начал изучать аутентификацию и node/express, так что все это для меня довольно ново.


person bobbyz    schedule 08.12.2015    source источник


Ответы (2)


Вернемся к этому много месяцев спустя. Если кому-то это будет полезно, express-jwt построен поверх пакета jsonwebtoken и делает кучу дополнительных интересных вещей. Вы по-прежнему используете jsonwebtoken для подписи и проверки JWT, но express-jwt помогает защитить маршруты, проверяет JWT на наличие секрета и создает req.user из полезной нагрузки токена, если он может ее проверить.

Вкратце: express-jwt использует jsonwebtoken в своем собственном коде и добавляет дополнительную аккуратность.

person bobbyz    schedule 13.01.2017
comment
Спасибо, что вернулись и заботитесь о других. - person aero; 12.11.2017
comment
В чем разница между express-jwt и passport-jwt? - person lonix; 06.02.2019

Express-JWT — это просто библиотека для Express, которая проверяет/подписывает веб-токены json, которые можно использовать с экспресс-веб-сервером (промежуточным программным обеспечением). JsonWebTokens — это еще одна реализация веб-токенов json. Есть много других библиотек токенов JWT, которые вы можете реализовать с помощью node. Express-jwt как раз из таких. Они оба, по сути, делают одно и то же, и вы можете использовать либо или. Ни один из них не построен друг над другом, они построены с использованием стандарта JWT. Выберите тот, который лучше всего соответствует вашим требованиям.

person user2924127    schedule 08.12.2015
comment
Express-jwt действительно построен поверх jsonwebtoken, согласно его package.json: jsonwebtoken: ^5.0.0 - person stone; 04.05.2016