express-jwt 与 jsonwebtoken

express-jwt vs. jsonwebtoken

我觉得这将是一个快速的答案,但我似乎无法在网上找到任何明确的答案 - jsonwebtoken npm 包和 express-jwt npm 包之间有什么区别?我认为 express-jwt 是在 jsonwebtoken 之上编写的,只是验证传入的令牌并将 req.user 设置为 JWT 上的用户负载。

对吗?很抱歉,如果这是一个完全菜鸟的问题...我刚开始学习身份验证和 node/express,所以这对我来说都是全新的。

Express-JWT 只是一个用于 Express 的库,它 validates/signs json 可以与 express 网络服务器(中间件)一起使用的网络令牌。 JsonWebTokens 只是 json 网络令牌的另一种实现。您可以使用 node.js 实现许多其他 JWT 令牌库。 Express-jwt 只是其中之一。它们本质上都做同样的事情,您可以使用或。 None 建立在彼此之上,它们是使用 JWT 标准构建的。选择最适合您要求的一种。

几个月后回到这里。如果它对任何人都有帮助,express-jwt 是建立在 jsonwebtoken 包之上的,并且做了一些额外的很酷的事情。您仍然使用 jsonwebtoken 来签署和验证您的 JWT,但是 express-jwt 可以帮助您保护路由,检查 JWT 是否存在秘密,如果可以验证,则从令牌的有效负载创建 req.user它。

tl;dr:express-jwt 在其自己的代码中使用 jsonwebtoken 并增加了额外的整洁度。