我觉得这将是一个快速的答案,但我似乎无法在网上找到任何明确的答案 - jsonwebtoken npm 包和 express-jwt npm 包有什么区别?我认为express-jwt 是在 jsonwebtoken 之上编写的,它只是验证传入的令牌并设置req.user
为 JWT 上的用户有效负载。
那是对的吗?对不起,如果这是一个完全的菜鸟问题......我刚开始学习身份验证和节点/表达,所以这对我来说都很新。
我觉得这将是一个快速的答案,但我似乎无法在网上找到任何明确的答案 - jsonwebtoken npm 包和 express-jwt npm 包有什么区别?我认为express-jwt 是在 jsonwebtoken 之上编写的,它只是验证传入的令牌并设置req.user
为 JWT 上的用户有效负载。
那是对的吗?对不起,如果这是一个完全的菜鸟问题......我刚开始学习身份验证和节点/表达,所以这对我来说都很新。
几个月后回到这个话题。万一它对任何人都有帮助,它express-jwt
是建立在包之上的,jsonwebtoken
并做了很多很酷的事情。您仍然可以jsonwebtoken
用来签名和验证您的 JWT,但express-jwt
可以帮助您保护路由、检查 JWT 与密钥是否相符,并从令牌的有效负载中创建一个req.user
(如果可以验证)。
tl;dr:在自己的代码中express-jwt
使用并增加了额外的整洁性。jsonwebtoken
Express-JWT 只是 Express 的一个库,用于验证/签署 json Web 令牌,可与 express Web 服务器(中间件)一起使用。JsonWebTokens 只是 json Web 令牌的另一种实现。您可以使用 node.js 实现许多其他 JWT 令牌库。Express-jwt 只是其中之一。它们本质上都做同样的事情,你可以使用 or 。没有一个是建立在彼此之上的,它们是使用 JWT 标准构建的。选择最适合您要求的一种。