开发调试6 分钟阅读更新于 2026-06-05

JWT是什么?Header、Payload和Signature分别有什么用

解释JWT三段结构、Base64URL编码、签名校验和过期时间,适合接口鉴权入门。

相关工具

JWT是什么

JWT是一种常见的令牌格式,全称JSON Web Token。它通常由三段组成,中间用点号分隔:Header、Payload、Signature。前两段是Base64URL编码后的JSON,第三段是签名。JWT常用于前后端分离项目的登录态、接口鉴权和用户身份传递。

用户登录成功后,服务端签发JWT,客户端在后续请求中携带它,常见位置是Authorization: Bearer xxx。服务端收到后验证签名和过期时间,再决定是否允许访问接口。

三段结构分别代表什么

Header通常声明令牌类型和签名算法,例如typ为JWT,alg为HS256。Payload存放声明信息,例如用户ID、角色、过期时间exp、签发时间iat等。Signature是服务端用密钥和算法对前两段计算出来的签名,用来确认令牌没有被篡改。

需要特别注意:Payload不是加密内容,只是编码后不容易直接阅读。任何人拿到JWT都可以解析出Payload。因此不要在Payload中放密码、身份证、手机号等敏感信息,除非另有加密保护。

JWT解析能解决什么问题

调试接口时,JWT解析能帮助你确认令牌是否过期、用户ID是否正确、角色权限是否符合预期、签发环境是否正确。例如测试环境拿了生产Token,或者Token过期时间单位错误,都能通过解析快速发现。

工具帮的JWT解析工具可以直接查看Header和Payload。它适合排查结构和字段,但不能证明签名一定有效。签名校验需要密钥,在线解析工具通常不会也不应该要求你输入生产密钥。

JWT使用注意事项

第一,设置合理过期时间。过期时间太长会增加泄露风险,太短会影响用户体验。第二,密钥要足够安全并保存在服务端。第三,重要权限变更时要考虑令牌吊销或版本号机制。第四,前端存储JWT时要注意XSS和CSRF风险。

如果系统安全要求高,不要只因为JWT可以自包含就完全放弃服务端状态管理。实际项目可能会结合刷新令牌、黑名单、设备管理和风险控制一起设计。JWT是工具,不是万能登录方案。

落地检查和使用建议

在实际项目中,JWT解析结果要和权限系统一起看。Payload里显示role是admin,不代表后端一定应该相信它;服务端必须验证签名,并确认该用户和权限仍然有效。否则攻击者可能伪造Payload造成误判。

排查登录问题时,可以先看JWT是否存在,再看exp是否过期,然后看接口是否正确携带Authorization头,最后看服务端验签和权限逻辑。把这四步拆开,能快速定位是前端存储、请求发送、令牌过期还是后端校验问题。

常见问题

JWT的Payload是加密的吗?

通常不是,只是Base64URL编码,任何拿到令牌的人都能解析查看。

解析JWT需要密钥吗?

查看Header和Payload不需要,验证Signature才需要密钥。

JWT过期字段是什么?

常见字段是exp,一般表示过期时间戳。