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