一、OAuth2 解决什么问题
1、OAuth2 提出的背景
照片拥有者想要在云冲印服务上打印照片,云打印服务需要访问云存储服务上的资源。
某个服务想访问某个用户的某个资源,但是不能完全放开权限,这样不安全。
2、图例
资源拥有者:照片拥有者
客户应用:云打印
受保护的资源:照片
3、方式一:用户名密码复制
适用于同一公司内部的多个系统,不适用于不受信的第三方应用。
4、方式二:通用开发者 key
适用于合作商或者授信的不同业务部门之间。
5、方式三:颁发令牌
接近 OAuth2 方式,需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的协议,因此就有了 OAuth2 协议。
二、现代微服务安全
除了开放系统授权,OAuth2 还可以应用于现代微服务安全。
1、传统单块应用的安全
2、现代微服务安全
现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式。
核心的技术不是用户名和密码,而是 token,由 AuthServer 颁发 token,用户使用 token 进行登录。