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

JWT原理及工作流程详解

JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在各方之间安全传输信息。其核心原理是通过结构化、签名或加密的JSON对象实现无状态身份验证和授权。以下是JWT的工作原理和关键组成部分:

1. JWT结构

JWT由三部分组成,用点号(.)分隔:

复制

下载

Header.Payload.Signature

例如:xxxxx.yyyyy.zzzzz

(1) 头部(Header)
  • 作用:声明令牌类型(typ: "JWT")和签名算法(如HS256RS256)。

  • 编码方式:Base64Url编码。

  • 示例:

    json

    {"alg": "HS256","typ": "JWT"
    }
(2) 载荷(Payload)
  • 作用:携带用户身份和权限信息(称为“声明”)。

  • 声明类型

    • 注册声明(预定义,如iss签发者、exp过期时间、sub主题)。

    • 公共声明(自定义,需避免冲突)。

    • 私有声明(双方协商的声明)。

  • 编码方式:Base64Url编码。

  • 示例:

    json

    {"sub": "1234567890","name": "John Doe","admin": true,"exp": 1622544000
    }
(3) 签名(Signature)
  • 作用:验证令牌完整性和真实性,防止篡改。

  • 生成方式:将编码后的Header和Payload用.连接,使用密钥和指定算法签名。

  • 示例(HMAC SHA256算法):

    HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload),secretKey
    )

2. JWT工作流程

  1. 用户登录:客户端发送凭证(如用户名/密码)到认证服务器。

  2. 生成JWT:服务器验证凭证,生成JWT并返回给客户端。

  3. 客户端存储:客户端保存JWT(通常为LocalStorage或Cookie)。

  4. 携带JWT请求:客户端在后续请求的Authorization头中携带JWT(如Bearer <token>)。

  5. 服务端验证

    • 拆分JWT,验证签名有效性(使用相同密钥和算法重新计算签名)。

    • 检查声明(如exp是否过期、用户权限等)。

    • 验证通过后,处理请求。


3. 核心特点

  • 无状态:服务端无需存储会话信息,适合分布式系统。

  • 自包含:所有必要信息都包含在令牌中。

  • 安全性:通过签名防止篡改,但需结合HTTPS防止窃听。

  • 灵活性:支持对称(HMAC)和非对称(RSA)加密算法。


4. 注意事项

  • 敏感信息:载荷仅Base64编码(非加密),避免存储密码等敏感数据。

  • 密钥管理:密钥泄露会导致令牌伪造,需严格保护。

  • 令牌有效期:设置合理过期时间(exp),缩短被窃取后的风险窗口。

  • 废止机制:JWT无法直接废止,需借助黑名单或短期有效期。


5. 适用场景

  • 跨域认证(如单点登录SSO)。

  • API无状态身份验证。

  • 客户端与微服务间的安全通信。


通过上述机制,JWT实现了高效、安全的身份验证,但需结合实际需求权衡其无状态特性和潜在的安全风险。

相关文章:

  • 图像匹配导航定位技术 第 10 章
  • 单片机-STM32部分:10、串口UART
  • 虚拟文件系统
  • Rust 中的 Pin 和 Unpin:内存安全与异步编程的守护者
  • VS Code配置指南:打造高效的QMK开发环境
  • 操作系统的初步了解
  • YOLOv8目标检测性能优化:损失函数改进的深度剖析
  • STM32外设-串口UART
  • WORD压缩两个免费方法
  • leetcode - 双指针问题
  • 抖音 “碰一碰” 发视频:短视频社交的新玩法
  • Spring Boot 框架概述
  • 主题分析建模用法介绍
  • FPGA:如何提高RTL编码能力?
  • 第20篇:Linux设备驱动程序入门<七>
  • 虚拟专用服务器(VPS)完全指南:从入门到选型
  • 基于卷积神经网络和Pyqt5的猫狗识别小程序
  • java基础:继承和多态
  • ChatGPT深度研究功能革新:GitHub直连与强化微调
  • Linux 文件系统中的数据定位:inode 与 dentry 的技术解析
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 数说母亲节|妈妈的妈妈带娃比例提升,托举效果如何?
  • 第一集|《刑警的日子》很生活,《执法者们》有班味
  • 一季度全国消协组织为消费者挽回经济损失23723万元
  • 上海:5月8日起5年以上首套个人住房公积金贷款利率下调至2.6%
  • 特朗普称美军舰商船应免费通行苏伊士运河,外交部:反对任何霸凌言行