背景
因工作需要,经常需要进行第三方服务的对接,例如,调用短信服务商Api发送用户短信
这种服务商的接入,第三方服务的对接过程,一般会有一个标准化的规范,如 本文学习的Oauth2
(ps:网上资料太多,看的眼花缭乱,这里仅以个人理解 简单记录OAuth2理解)
抛出问题:
假设: 用户A的个人信息,存放在百度云盘上,那么用户B 如何能到用户A的个人信息?

解决问题
1 百度云盘提供Api 用户B直接调用
缺陷:因为此时接口无任何访问限制,此时对于用户C,黑客A也能直接调用此API获取信息,造成安全信息泄漏,恶意访问

2 用户B请求时,提供一个访问token,百度云盘校验通过,即可访问
缺陷: 用户B的token 是哪里来的呢? 谁给用户B的token?
解决: 需要一个服务器(认证服务器) 来给B颁发token

3 认证服务器(Authorization server)颁发token 给用户B,用户B 拿到此token进行访问
缺陷: 认证服务器(Authorization server) 在未经用户A的允许下 给B token,
A:你居然瞒着我给别人赋权限? 我要告你侵权 ****
解决: 认证服务器(Authorization server) 颁发token给用户B时,需获取用户A的允许同意

4 认证服务器颁发token给用户B时,获取用户A的允许同意

细节补充
用户B 从认证服务器获取token 细致点可以分为两个步骤
1.1
用户B 请求认证服务器 获取授权码code
1.2
用户B 根据授权码code 再去认证服务器获取token

更多资源
OAuth2 鉴权源码解析 ,401 no body 失败解决方案