This commit is contained in:
aliubo 2023-01-20 13:07:58 +08:00
parent 1fca3cbe84
commit ebb6548c1a
2 changed files with 53 additions and 0 deletions

31
其他/OAuth2.0.md Normal file
View File

@ -0,0 +1,31 @@
## 名词定义
* **Third-party application**:第三方应用程序,本文中又称"客户端"client即上一节例子中的"云冲印"。
* **HTTP service**HTTP服务提供商本文中简称"服务提供商"即上一节例子中的Google。
* **Resource Owner**:资源所有者,本文中又称"用户"user
* **User Agent**:用户代理,本文中就是指浏览器。
* **Authorization server**:认证服务器,即服务提供商专门用来处理认证的服务器。
* **Resource server**:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。
## 客户端的授权模式
客户端必须得到用户的授权authorization grant才能获得令牌access token。OAuth 2.0定义了四种授权方式。
* 授权码模式authorization code
* 简化模式implicit
* 密码模式resource owner password credentials
* 客户端模式client credentials
## 授权码模式
![](https://www.ruanyifeng.com/blogimg/asset/2014/bg2014051204.png)
### 执行步骤
1. 用户访问客户端,后者将前者导向认证服务器。
2. 用户选择是否给予客户端授权。
3. 假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"redirection URI同时附上一个授权码。
4. 客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。
5. 认证服务器核对了授权码和重定向URI确认无误后向客户端发送访问令牌access token和更新令牌refresh token
## 参考链接
https://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

View File

@ -0,0 +1,22 @@
## limit查询
页数越靠后越慢最坏复杂度O(n)
## 优化方法
### 1. 最大id查询
只要查询大于上一页最后一个id的where即可
`select * from table_name where id > XXX limit 10`
缺点只能适用自增的idUUID不适用
### 2. between ... and
缺点只能适用自增且自增为有规律的数列的id
###
## 参考链接
https://cloud.tencent.com/developer/article/1639177