Express-jwt против jsonwebtoken
У меня такое чувство, что это будет быстрый ответ, но я не могу найти никаких окончательных ответов в Интернете. В чем разница между пакетом jnswebtoken npm и пакетом express-jwt npm? Я думаю, что express-jwt написан поверх jsonwebtoken и просто проверяет входящие токены и устанавливает req.user
в пользовательскую полезную нагрузку на JWT.
Это правильно? Извините, если это общий вопрос noob... Я только начал изучать аутентификацию и node/express, поэтому все это для меня довольно ново.
Ответы
Ответ 1
Возвращаясь к этому много месяцев спустя. В случае, если это полезно для всех, express-jwt
построен поверх пакета jsonwebtoken
и выполняет кучу дополнительных интересных вещей. Вы все еще используете jsonwebtoken
для подписи и проверки своих JWT, но express-jwt
помогает вам защищать маршруты, проверяет JWT на секрет и создает req.user
из полезной нагрузки токена, если он может его проверить.
tl; dr: express-jwt
использует jsonwebtoken
в своем собственном коде и добавляет дополнительную аккуратность.
Ответ 2
Express-JWT - это просто библиотека для Express, которая проверяет/подписывает токены json, которые могут использоваться с экспресс-сервером (промежуточным программным обеспечением). JsonWebTokens - это еще одна реализация токенов json web. Есть много других библиотек токенов JWT, которые можно реализовать с помощью node. Express-jwt - лишь один из них. Они оба по сути делают то же самое, и вы можете использовать либо или. Ни один из них не построен поверх друг друга, они строятся с использованием стандарта JWT. Выберите тот, который наилучшим образом соответствует вашим требованиям.