2026-01-29 JWT过期时间设置不生效:从"7d"到"7h"的深夜调试实录 JWT过期时间设置不生效:从"7d"到"7h"的深夜调试实录 正文:凌晨三点的屏幕荧光刺得眼睛生疼,咖啡杯早已见底。我盯着控制台输出的JWT令牌,第37次尝试将过期时间从"7d"改成"7h",可解码后的exp字段依然固执地显示七天后过期。这问题像一根卡在喉咙的鱼刺——看似简单,却让人寝食难安。第一幕:迷雾中的配置项项目采用Node.js+Express架构,JWT签发逻辑封装在authService.js中:javascript const token = jwt.sign( { userId: user.id }, process.env.JWT_SECRET, { expiresIn: '7h' } // 明明改成了7小时 );环境变量通过dotenv加载,.env文件赫然写着:ini JWT_EXPIRES_IN=7h JWT_SECRET=my_super_secret甚至尝试硬编码:javascript { expiresIn: '7h' } // 直接写死参数但用https://jwt.io解码后,过期时间仍是604800秒(7天)。这见鬼的7d阴魂不散!第二幕:依赖库的暗箭排查进入死... 2026年01月29日 44 阅读 0 评论