上一篇我们讲了《为什么很多企业放弃纯 JWT而选择 Token Redis》很多人这时候会有一个疑问JWT 到底是什么为什么JWT 不查库就能认证JWT 为什么不能伪造JWT 为什么说“无状态”JWT 为什么不能存敏感信息JWT 为什么又无法主动失效今天我们从工程视角真正讲透JWT 的底层原理。一、JWT 到底是什么JWT 全称JSON Web Token本质上 就是一个“自带身份信息”的 Token传统 Token可能只是abc123服务端必须查 Redis / DB这个 token 对应谁而 JWT自己就带着{ userId: 1001, role: admin }所以JWT 是“自描述 Token”二、JWT 的三段结构非常重要JWT 长这样xxxxx.yyyyy.zzzzz注意中间有两个点分成部分作用Header头部Payload载荷Signature签名即Header.Payload.Signature三、JWT Header头部Header 描述“这个 Token 怎么签名”例如{ alg: HS256, typ: JWT }含义字段含义alg签名算法typToken类型常见算法算法说明HS256HMAC-SHA256最常见RS256RSA 非对称加密ES256ECC 椭圆曲线四、JWT Payload载荷Payload 保存用户信息例如{ userId: 1001, username: admin, role: ADMIN, exp: 1711111111 }常见字段字段含义sub用户IDexp过期时间iat签发时间iss签发者这里Payload 只是 Base64 编码注意不是加密所以JWT 里的内容任何人都能解码五、为什么 JWT 不能存敏感信息高频很多新手 喜欢{ password:123456 }这是非常危险因为JWT 只是Base64 编码不是加密任何人都能Base64 解码看到里面内容。所以JWT 绝不能存密码身份证银行卡手机号隐私数据六、JWT Signature签名这是 JWT 最核心部分作用防篡改Signature 计算方式HMACSHA256( base64(Header) . base64(Payload), secret )例如Header.Payload加上secretKey生成Signature七、JWT 为什么无法伪造假设 黑客修改 Payload原来{ role:USER }黑客改成{ role:ADMIN }问题来了Signature 会变因为 签名计算包含 Payload而黑客 没有secretKey所以无法生成正确签名服务端验签失败JWT 非法直接拒绝。八、JWT 为什么叫“无状态”传统 Session 服务端保存用户状态而 JWT 用户信息 就在 Token 里。服务端只需要验签即可。无需查 Session查 Redis查数据库所以JWT 是无状态认证九、JWT 的巨大优势JWT 最大优势性能极高因为本地即可验签不需要Redis 数据库 Session中心特别适合高频接口微服务Gateway分布式系统十、JWT 最大问题企业重点JWT 最大问题无法主动失效例如JWT有效期2小时只要没过期服务端就必须认即使用户退出登录修改密码被踢下线风险设备账号冻结JWT仍然有效。所以企业很少纯 JWT而是JWT Redis混合方案。十一、企业真实 JWT 方案非常重要企业里通常Token存储AccessTokenJWTRefreshTokenRedisJWT负责高频访问认证Redis负责会话生命周期管理包括踢下线风控单设备登录Token撤销黑名单十二、JWT 与 HTTPS 的关系很多人误以为JWT 自带加密其实JWT 默认不加密所以JWT 必须跑 HTTPS否则抓包直接偷Token所以真实链路HTTPS ↓ JWT ↓ Authorization Header十三、JWT 在 Android / APP 中的真实使用移动端 通常Authorization: Bearer xxxAccessToken 过期返回401 Unauthorized客户端 自动refreshToken 刷新获取newAccessToken然后自动重放请求用户完全无感十四、JWT 真正的定位非常重要很多人把 JWT 神化了。实际上JWT 本质只是Token 的一种格式它解决的是“身份信息自描述”问题。而企业真正关心的是“会话是否可控”所以后面Redis才会进入体系。十五、最终核心理解建议背下来JWT本质上是一个带签名的自描述 Token特点自带用户信息无状态本地可验签性能高分布式友好但也存在无法主动失效问题。因此企业通常采用JWT Redis混合方案。JWT负责高频认证Redis负责会话生命周期管理这才是真正企业里的JWT 使用方式。下篇预告下一篇我们继续《企业认证与安全体系四Spring Security JWT Redis 企业级认证实战》真正进入Spring SecurityFilter链OncePerRequestFilterAuthenticationSecurityContextHolderRedisGateway鉴权彻底讲透企业真实登录鉴权流程。