一、什么是 OAuth2
1、OAuth2正式定义
2、令牌的核心
3、OAuth2的历史
4、OAuth2的优势
5、OAuth2的不足
6、Auth2涉及的角色
7、OAuth2术语
8、OAuth2 令牌的类型
9、OAuth2的误解
总结
二、OAuth2 的使用场景
1、OAuth2 解决的问题
- OAuth2 是针对特定问题的一种解决方案
- OAuth2 主要解决两个问题:
2、开发系统间的授权问题
比如:用户想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源
我们知道图片资源的拥有者为用户,用户可以使用密码登录访问,而打印服务商是没有权限进行访问打印图片的:
要解决这个问题我们有一下方法:
方式一:用户名密码复制
但这种方式会造成用户的密码泄露,显示是行不通的。
方式二:使用通用开发者key
但这种方式只适用于合作商或者授信的不同业务部门之间,比如阿里巴巴和百度合作商,但问题是如果你是创业公司,想要和百度合作显然是不行的,因为公司实力差距大不对等。
方式三:颁发令牌
接近 OAuth2 方式,需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的协议,因此就有了OAuth2协议。所以解决授权问题的最佳方式就是使用令牌来授权。
3、分布式微服务安全
除了开放系统授权外,OAuth2 还可以应用于现代分布式微服务安全
传统单块应用的安全:
现代微服务安全:
- 现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式;
- 核心的技术不是用户名和密码,而是 token,由 AuthServer 颁发 token,用户使用 token 进行登录。
典型的 OAuth2 应用场景:
4、总结
说白了 OAuth2 就是一种解决方案:一种令牌机制,按照一定规则生成字符串,字符串中可包含用户信息。而具体的生产规则可以使用 JWT 工具来生成,OAuth2 仅仅提供这种解决方案而已。