
OAuth 2.0
存储用户密码的风险:第三方应用程序需要存储用户的密码,通常是明文形式,存在安全隐患。 权限过度授予:第三方应用程序可能获得超出其需求的资源访问权限。 权限无法撤销:用户更换密码时,所有依赖该密码的第三方应用程序都会失效。
B站 提供一个“微信登录”链接 用户点击链接,跳转至微信授权服务器 用户登录微信并确认授权 微信授权服务器返回一个授权码 用户代理(浏览器)将授权码发送给 B 端 B 端向微信授权服务器请求令牌 微信授权服务器发送令牌给 B 端 B 端可利用令牌访问用户资源 B 端 提供“微信登录”链接 用户跳转至微信授权服务器 用户登录微信并确认授权 微信授权服务器直接发送令牌给 B 端 B 端 使用用户提供的微信账号和密码直接向微信授权服务器索要令牌 微信授权服务器发送令牌给 B 端 B 端 向微信授权服务器请求令牌 微信授权服务器发送令牌给 B 端
发布日期:2025-04-22 14:34:21
浏览次数:5
分类:精选文章
本文共 997 字,大约阅读时间需要 3 分钟。
OAuth 2.0 授权机制
什么是 OAuth 2.0?
OAuth 2.0 是一种授权框架,允许第三方应用程序(如哔哩哔哩)在用户的许可下,获取对用户资源的有限或完全访问权限。例如,通过你的允许,B站可以请求微信服务器获取你的头像、昵称或 OpenID 等信息。
为什么使用 OAuth 2.0?
传统的授权方式存在以下问题:
OAuth 2.0 提供了更安全的解决方案,通过令牌(token)机制,用户只需一次授权,第三方应用程序可根据需求获取所需资源的访问权限。
OAuth 2.0 的关键术语
专业称呼 | 通俗叫法 |
---|---|
资源所有者 | 用户 |
资源服务器 | 验证令牌的服务器(如微信服务器) |
客户端 | 第三方应用程序(如 B站) |
授权服务器 | 发送令牌的服务器 |
授权码 | 用于获取令牌的凭证 |
OAuth 2.0 的授权模式
OAuth 2.0 提供了多种授权模式,根据场景选择合适的模式:
1. 授权码模式(最常用模式,适合前后端分离)
优点:
- 前后端分离,令牌泄露风险低
- 安全性高
流程:
2. 隐式模式(不推荐使用,适合无后台的第三方)
流程:
3. 密码模式(适合用户极其信任第三方)
流程:
4. 客户端模式(适合无前端的第三方,整个过程无用户参与)
流程:
OAuth 2.0 的优势
- 安全性高:避免第三方存储用户密码
- 灵活性强:用户可根据需求授予不同范围的权限
- 可撤销性:用户可以单独撤销某个第三方的权限,而不影响其他第三方
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月19日 04时41分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!