news 2026/7/7 9:01:01

JWT与OAuth 2.0的区别及关系解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JWT与OAuth 2.0的区别及关系解析

JWT 和 OAuth 2.0 是两种不同的技术,经常一起使用,但它们解决不同的问题。

核心区别

方面JWT (JSON Web Token)OAuth 2.0
本质一种令牌格式/标准一个授权框架/协议
主要目的安全地传输信息授权第三方应用访问资源
使用场景身份认证、信息交换委托授权、API访问控制
关注点如何表示和验证身份如何获取访问权限

详细解释

JWT (JSON Web Token)

  • 是什么:一种紧凑的、自包含的令牌格式

  • 结构Header.Payload.Signature三部分

  • 特点

    • 包含声明(claims),可被验证和信任

    • 自包含:不需要查询数据库即可验证

    • 可签名(JWS)或加密(JWE)

  • 主要用途

    • 身份认证(如替代Session)

    • 信息安全传输

    • 一次性验证令牌

OAuth 2.0

  • 是什么:一个授权框架,定义如何获取访问令牌

  • 核心流程

    1. 客户端申请授权

    2. 资源所有者同意

    3. 客户端获得访问令牌

    4. 使用令牌访问受保护资源

  • 授权类型

    • 授权码模式(最安全)

    • 隐式模式

    • 密码模式

    • 客户端凭证模式

它们的关系(如何一起工作)

text 用户 → 使用OAuth 2.0流程 → 获得访问令牌 → 令牌是JWT格式 → 访问API资源

常见组合模式:

  1. OAuth 2.0 + JWT访问令牌

    // OAuth 2.0颁发的访问令牌是JWT格式 access_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
  2. OpenID Connect(OIDC)

    • 基于OAuth 2.0的身份层

    • 使用JWT作为ID Token

    • 同时提供认证+授权

JWT结合OAuth 2.0的工作流程

第一阶段 (1-4步): OAuth 2.0授权

  • 用户通过客户端发起请求

  • 重定向到授权服务器进行认证

  • 用户同意授权,返回授权码

第二阶段 (5-7步): JWT令牌生成

  • 客户端用授权码交换令牌

  • 授权服务器生成JWT格式的令牌

  • JWT包含:签名、有效期、用户信息、权限范围等

第三阶段 (8-10步): JWT验证与资源访问

  • 客户端携带JWT访问API

  • 资源服务器验证JWT签名(无需查询数据库)

  • 验证成功后返回受保护资源

JWT在OAuth 2.0中的优势

  1. 自包含性

    text 解码JWT Payload示例: { "iss": "auth-server.com", // 颁发者 "sub": "user123", // 用户标识 "exp": 1672531200, // 过期时间 "scope": "read write", // 权限范围 "name": "张三" // 用户信息 }
  2. 无状态验证

    • 资源服务器通过公钥验证签名

    • 无需查询授权服务器验证令牌

  3. 减少网络调用

    • 传统OAuth令牌:每次API调用需要验证令牌有效性

    • JWT令牌:本地验证即可,减少授权服务器压力

实际应用示例

场景:用户使用微信登录第三方网站

  1. OAuth 2.0流程

    • 网站重定向到微信授权页面

    • 用户同意授权

    • 微信返回授权码

    • 网站用授权码换取访问令牌

  2. JWT的作用

    • 微信颁发的访问令牌可能是JWT格式

    • 或者ID Token(OIDC)一定是JWT格式

    • 网站可以解析JWT获取用户信息

关键要点

  • 可以单独使用

    • 只用JWT做API认证(不涉及第三方授权)

    • 只用OAuth 2.0但不使用JWT格式令牌(如使用随机字符串令牌)

  • 结合使用更强大

    • OAuth 2.0处理授权流程

    • JWT作为令牌格式,提供自包含、可验证的特性

  • 安全考虑

    • JWT一旦颁发,在有效期内无法撤销(除非使用黑名单)

    • OAuth 2.0支持令牌撤销机制

    • 结合使用时需要考虑令牌生命周期管理

总结

简单说:OAuth 2.0是“如何获取权限”的规则,JWT是“权限凭证”的一种表现形式。它们经常搭档出现,这种结合方式广泛应用于现代Web和移动应用,特别是微服务架构中,既实现了安全的第三方授权,又确保了高效的令牌验证。此外他们各自也能独立工作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:48:54

从粘贴到结果只要3步:MTools极简工作流演示

从粘贴到结果只要3步:MTools极简工作流演示 1. 为什么你需要一个“文本瑞士军刀” 你有没有过这样的时刻: 读完一篇2000字的技术文档,却记不住重点,想快速提炼核心观点;收到一封冗长的英文邮件,需要立刻理解…

作者头像 李华
网站建设 2026/7/1 23:58:33

中文NLP综合分析系统(RexUniNLU)快速部署:开箱即用镜像使用指南

中文NLP综合分析系统(RexUniNLU)快速部署:开箱即用镜像使用指南 1. 这不是另一个NLP工具,而是一个“中文语义理解中枢” 你有没有遇到过这样的情况: 想从一段新闻里找出谁赢了比赛、谁输了、什么时候发生的、是什么赛…

作者头像 李华
网站建设 2026/7/1 23:57:14

人脸识别OOD模型实战落地:社区门禁系统中夜间红外图像质量评估

人脸识别OOD模型实战落地:社区门禁系统中夜间红外图像质量评估 1. 什么是人脸识别OOD模型? 你可能已经用过不少人脸识别系统——刷脸开门、打卡考勤、支付验证。但有没有遇到过这些情况: 晚上回家,门禁摄像头拍出来的人脸发灰、…

作者头像 李华
网站建设 2026/7/2 0:00:09

LongCat-Image-Editn企业实操:设计团队接入AI编辑工作流的落地路径

LongCat-Image-Editn企业实操:设计团队接入AI编辑工作流的落地路径 1. 为什么设计团队需要“一句话改图”的能力 你有没有遇到过这些场景: 客户临时说“把海报里穿蓝衣服的人换成穿红衣服的”,设计师得重新找图、抠图、调色,半…

作者头像 李华
网站建设 2026/7/2 1:18:55

开发者必看:Qwen3-VL-2B镜像部署推荐,支持HTML/CSS生成实操

开发者必看:Qwen3-VL-2B镜像部署推荐,支持HTML/CSS生成实操 1. 为什么这款视觉语言模型值得你花10分钟试试? 你有没有遇到过这些场景: 设计师发来一张网页截图,你得手动敲几小时HTMLCSS还原;产品提了个“…

作者头像 李华