首页 / 百科 / JWT

JWT

开发

JSON Web Token(RFC 7519)

JWT 是 RFC 7519(2015)定义的自包含令牌格式:header.payload.signature 三段 Base64URL 用点连接,签名保证内容不被篡改,广泛用于无状态会话与 OAuth 2.0 生态。

结构与标准

JWT 属于 JOSE(JSON Object Signing and Encryption,RFC 7515–7519 系列,2015)家族。三段分别是:header(算法 alg 与类型)、payload(claims 声明,含 iss/aud/exp/sub 等保留字段)、signature(对前两段的签名)。均用 Base64URL 编码(不是标准 Base64,无 + /)。

签名与加密的区别

默认的 JWS 签名只防篡改不保密——payload 是任何人可解码的明文,绝不能放密码、敏感个人信息。需要保密走 JWE 加密。常见签名算法:HS256(对称 HMAC-SHA256)、RS256(RSA)、ES256(ECDSA)。选对称还是非对称取决于"签发方与校验方是否同一信任域"。

实践要点

exp 过期时间是自包含的,服务端校验即可,但"主动吊销"必须额外引入黑名单或短有效期 + refresh token 组合;alg: none 历史漏洞与"混淆 HS/RS 算法攻击"提示:校验端必须硬编码允许的算法。JWT 的取舍本质是"无状态可扩展"换"吊销困难"。

相关工具

相关词条