news 2026/10/26 9:52:28

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/10/23 9:08:37

ComfyUI大模型入门实战:从零搭建到生产环境部署避坑指南

背景痛点:传统 UI 框架为何“跑不动”大模型 第一次把 7B 参数的 LLM 塞进 Gradio 时,我整个人是懵的: 每点一次“Generate”,浏览器转圈 3 秒才出字,GPU 占用却直接飙到 95%。多开两个标签页,显存 OOM&a…

作者头像 李华
网站建设 2026/10/16 10:06:01

AI 净界高效率部署:RMBG-1.4结合TensorRT加速推理

AI 净界高效率部署:RMBG-1.4结合TensorRT加速推理 1. 为什么“抠图”这件事,终于不用再等半分钟? 你有没有过这样的经历: 想给一张宠物照换背景,结果在修图软件里调了20分钟羽化半径,还是漏掉几缕猫毛&am…

作者头像 李华
网站建设 2026/10/24 8:15:28

5步掌握BetterNCM Installer:网易云音乐插件管理工具全攻略

5步掌握BetterNCM Installer:网易云音乐插件管理工具全攻略 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 网易云音乐作为国内领先的音乐平台,其扩展性一直是用…

作者头像 李华
网站建设 2026/10/19 1:44:38

人脸识别OOD模型从零开始:CSDN GPU实例上30秒完成模型加载与测试

人脸识别OOD模型从零开始:CSDN GPU实例上30秒完成模型加载与测试 1. 什么是人脸识别OOD模型? 你可能已经用过不少人脸识别工具,但有没有遇到过这些情况: 拍摄角度歪斜、光线太暗的照片,系统却还是给出了一个“相似度…

作者头像 李华
网站建设 2026/10/11 19:17:06

智能客服知识运营实战:从冷启动到高并发的架构演进

智能客服知识运营实战:从冷启动到高并发的架构演进 把“知识”喂给模型只是第一步,,让它在万级 QPS 下还能毫秒级回答,才是真正的战场。下面这份笔记,记录了我们从 0 到 1、再到 1 万 QPS 踩过的坑与填过的土&#xff…

作者头像 李华