当前位置: 首页 > news >正文

企业认证与安全体系(三):一篇讲透 JWT 原理与企业级实践

上一篇我们讲了《为什么很多企业放弃纯 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鉴权彻底讲透企业真实登录鉴权流程。
http://www.rkmt.cn/news/1382240.html

相关文章:

  • (管综逻辑) 第一章核心总结: 一篇真正讲透联言、选言、假言与命题转换
  • Style-Bert-VITS2实战指南:如何快速创建有声读物、虚拟主播和游戏角色语音
  • 锤子助手插件功能六十:禁用表情面板「拍摄表情」
  • Rust 服务网格实战:用 Linkerd2 构建现代化微服务架构
  • 利用taotoken在ubuntu上构建成本可控的多模型实验平台
  • 5个步骤掌握Happy Island Designer:打造你的梦幻岛屿设计
  • 2026年5月欧米茄官方售后网点真实体验报告(无滤镜实测) - 速递信息
  • OpenBOR图像处理系统揭秘:精灵动画与像素绘制的核心技术
  • 开发管理工具打不开No way to find ori gi nal streamhand er for jar protocol
  • 锤子助手插件功能四十:禁用界面分割线
  • 别再为批次效应发愁了!手把手教你用Harmony+SCT整合Seurat单细胞数据(附完整代码)
  • 别再手动调参了!用Kalibr搞定VIO相机-IMU外参标定(附避坑指南)
  • catlass仓库概览:昇腾算子开发的高层抽象
  • 微生物组学数据分析的7大痛点,microeco如何一站式解决?
  • 2026年5月欧米茄官方服务中心网点深度调研报告(保真指南) - 速递信息
  • BetterNCM-Installer:为什么你的网易云音乐需要这个神奇插件管理器?
  • Pearcleaner终极指南:如何彻底清理Mac应用残留,释放宝贵存储空间
  • 手把手教你设计一个防‘爆破音’的电路:用三极管搞定12V系统掉电监测
  • 机器学习如何重塑高能物理事件重建:从HGCAL到TICL框架的实践
  • 石刻文物 3D 扫描与数字拓片:科技赋能文保,无损留存千年文明
  • FFF音频文件搜索终极指南:如何快速按ID3标签查找音乐文件
  • Campus-imaotai:基于Spring Boot的智能茅台预约系统架构设计与技术实现深度解析
  • 为什么92%的内部工具项目半年后被弃用?Lovable团队内部复盘:5个致命设计缺陷与重构路径
  • 2026年树洞社交测评:一对一树洞社交脱单,深夜emo陪你度过漫漫长夜 - 时时资讯
  • styled-theming 源码深度解析:掌握 React 主题系统的内部工作原理
  • 保姆级教程:用华为eNSP模拟器搞定NAT配置,让内网服务器被外网访问
  • 你的Linux系统启动慢?可能是UEFI里DXE驱动在“摸鱼”!手把手教你排查优化
  • 构建现代跨平台局域网通信的Qt技术栈解决方案
  • 动态库 vs 静态库实战:用一个学生成绩管理项目,彻底搞懂Linux下的PIC、GOT和PLT
  • Keil中#pragma与#define宏的冲突解析与替代方案