Oauth2 - Overview
问题域
开放系统间授权
账号密码
不安全
万能钥匙
适用于公司内部
特殊令牌
核心挑战是令牌的生命周期管理
微服务安全
核心是 Token
OAuth2
最简向导
正式定义
Token 是核心,可类比为仆从钥匙(给应用授予有限的访问权限,让应用代表用户去访问用户数据)
优劣
主要优势
OAuth2 使用代理授权的方式解决密码共享的反模式问题
主要劣势
OAuth2 不是认证协议,而是一个代理授权框架
OAuth2 提供一个宽泛的协议框架,具体安全场景需要定制
主要角色
主要术语
Token 类型
常见误区
典型 Flow
Authorization Code Flow
最复杂 + 最安全 + 应用最广泛
Implicit Grant Flow
减少了授权码兑换的过程(通过 Script 解析 Access Token),适用于单页应用(无后端)
Resource Owner Password Credentials Flow
适用于公司内部应用等风险可控的场景
Client Credentials Flow
连资源所有者都没有,适用于服务器之间的场景
刷新令牌
Flow 选型
授权流程渠道
前端渠道:资源服务器不参与的交互过程
后端渠道:资源拥有者不参与的交互过程
客户应用类型
适用场景
选型流程
第一方:内部应用
参考
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.