使用Authorization头与Bearer方式传同JWT令牌时出现“Invalid token”错误的原因
两种JWT令牌传递方式的差异分析
核心差异在于HTTP请求头的格式是否符合Bearer令牌的标准规范:
直接在Authorization头中输入令牌时,你的请求头是:
Authorization: <generated token>这种格式缺少了必须的
Bearer前缀,不符合RFC定义的Bearer令牌认证格式。通过Thunder Client的Bearer Token选项传入时,工具会自动帮你补全前缀,实际发送的请求头是:
Authorization: Bearer <generated token>这是后端JWT验证逻辑默认期望的格式。
后端的JWT验证组件(比如常见的express-jwt、Spring Security的JWT过滤器等)在处理时,会先检查Authorization头是否以Bearer 开头:
- 如果有前缀,会提取后面的令牌字符串进行解码和验证;
- 如果没有前缀,组件会直接判定令牌格式无效,返回
"Invalid token"错误。
你可以手动测试验证:在Headers里手动写成Authorization: Bearer <你的令牌>,发送请求后应该能得到200响应,和使用Auth选项的效果一致。
内容的提问来源于stack exchange,提问作者President Jam
相关产品推荐
相关产品推荐

