关于jwt.sign没有返回值的问题

在实现登录接口并使用JWT生成token时遇到问题,JWT.sign()未返回token。通过try-catch捕获到错误,发现是因为RS256算法要求secretOrPrivateKey至少为2048位,而之前生成的私钥是1024位。更新为2048位后,成功生成了token。

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

关于jwt.sign没有返回值的问题

问题

在写登录接口时,想生成token用于登录验证,但是在使用jwt生成token(jwt.sign())时却没有返回token,服务端没有报错但是使用postman验证接口时却没有得到正确的请求结果。

在这里插入图片描述

原因

在各个平台没有找到相关问题的解决办法,我已明确的是肯定是jwt.sign这里出了问题,只是终端没有打印错误,于是想到使用try catch将异常抛出,查看问题是什么。

在这里插入图片描述

这里报错Error: secretOrPrivateKey has a minimum key size of 2048 bits for RS256才想起生成私钥时是1024的(学习视频中也生成的是1024确实正常的,不知道为啥我这里报错了):

在这里插入图片描述

解决

所以尝试生成大小为2048时就可以正常生成token了

在这里插入图片描述

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值