颓废了颓废了,学习之路重新开始。不管是之前还是以后的学习文章基本都不会写代码的,因为工作四年多了,代码那种东西大家都会,不会的网上百度也一大堆,主要的还是需要思路清晰,理论基础扎实,知道什么地方需要做什么。
上次讲的是jwt的整合。今天学的是oatuh2.0协议,是用于API接口的调用的一种比较安全可靠的协议和规范的协议。微信、支付宝还有一些大公司的API请求授权都是遵循这种协议的。
简单概括一下这种协议的流程:
- 客户通过平台注册得到密钥、商户号、账号密码等基本数据。
- 通过密钥换取请求API的临时令牌即TOKEN。(这里有两种选择,直接通过密钥换请求的令牌,第二种事通过认证先得到授权码再通过授权码换取请求的令牌。微信是选择后者,但是我个人觉得都可以,我觉得没必要多走一步授权码再得到TOKEN)
- 拿到令牌就可以请求对应的API了。令牌一般都是有失效的,比如微信的是两个小时。
协议本身自带四种模式:
- 授权码的形式 获取accessToken
- 密码形式 username和userpwd 不安全
- 简化模式
- 客户端模式
基本都是使用第一种令牌模式的,因为临牌是唯一且临时的。
注意事项:
- 服务器端需要做请求IP的白名单和黑名单校验。
- 网关服务中根据项目大小可以做访问频率限制或者付费提高频率。