关于express-jwt使用的一些坑

本文讲述了在使用express-jwt库时遇到expressJWTisnotafunction错误的解决过程,涉及版本升级、正确导入模块以及客户端发送带有Bearer头的token进行验证的要求,同时强调了处理验证失败的必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

expressJWT is not function错误

从网上搜索来的例子直接拿过来用时,会发生这个错误。

然后找度娘问了一圈,版本问题

const expressJWT  = require('express-jwt')

app.use(expressJWT({ secret: config["Token-secretKey"]}).unless({ path: ["/login"] }))这个是早期的使用方法

现在的需要修改一下

const {expressjwt: expressJWT}  = require('express-jwt')

app.use(expressJWT({ secret: config["Token-secretKey"], algorithms: ["HS256"]}).unless({ path: ["/login"] }))具体详情可以查阅express-jwt - npm

然后就是token验证的问题

客户端通过Authorization发送过来的token需要携带“Bearer ”,完整的是Bearer xxxxxxx.xxx.xxx这样子的,Bearer后面是一个空格

验证通过以后,在后面的处理函数可以通过req.auth来获取签名信息,auth是express-jwt默认的当然也可以停止,详情还是查阅express-jwt - npm

最后就是记得处理验证失败的消息。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值