From 38f56f6ac72f7639eec4c646740876cf2a12702a Mon Sep 17 00:00:00 2001 From: shimingxy Date: Sat, 7 Mar 2020 21:34:08 +0800 Subject: [PATCH] o --- docs/_includes/navigation.html | 14 +++- docs/algorithm.md | 0 docs/images/oauth2/client.jpg | Bin 0 -> 9842 bytes docs/images/oauth2/code.jpg | Bin 0 -> 25517 bytes docs/images/oauth2/flow.jpg | Bin 0 -> 25889 bytes docs/images/oauth2/implicit.jpg | Bin 0 -> 27348 bytes docs/images/oauth2/qq.jpg | Bin 0 -> 45160 bytes docs/images/oauth2/resource.jpg | Bin 0 -> 18766 bytes docs/protocols/index.md | 103 ++++++++++++++++++++++++++++++ docs/{ => protocols}/jwtintros.md | 0 docs/protocols/oauth2.md | 103 ++++++++++++++++++++++++++++++ 11 files changed, 217 insertions(+), 3 deletions(-) create mode 100644 docs/algorithm.md create mode 100644 docs/images/oauth2/client.jpg create mode 100644 docs/images/oauth2/code.jpg create mode 100644 docs/images/oauth2/flow.jpg create mode 100644 docs/images/oauth2/implicit.jpg create mode 100644 docs/images/oauth2/qq.jpg create mode 100644 docs/images/oauth2/resource.jpg create mode 100644 docs/protocols/index.md rename docs/{ => protocols}/jwtintros.md (100%) create mode 100644 docs/protocols/oauth2.md diff --git a/docs/_includes/navigation.html b/docs/_includes/navigation.html index 4d729607d..502e95ba1 100644 --- a/docs/_includes/navigation.html +++ b/docs/_includes/navigation.html @@ -2,9 +2,17 @@ - \ No newline at end of file + + + diff --git a/docs/algorithm.md b/docs/algorithm.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/images/oauth2/client.jpg b/docs/images/oauth2/client.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f463d36342204fa5750428c390122e3251f346d GIT binary patch literal 9842 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 literal 0 HcmV?d00001 diff --git a/docs/images/oauth2/code.jpg b/docs/images/oauth2/code.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c3883bc170ff3aef545c505dbd55645bd74f2f1 GIT binary patch literal 25517 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 f#j-?oONFPH>95TX86*5Fofqad$|HySw}4 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 P_Imz(QUAAJKXLyL8xBa% literal 0 HcmV?d00001 diff --git a/docs/images/oauth2/implicit.jpg b/docs/images/oauth2/implicit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..91bfaace88d4015b7db2a13e4983854b9dffc764 GIT binary patch literal 27348 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 I_;dRI06{P}B>(^b literal 0 HcmV?d00001 diff --git a/docs/images/oauth2/qq.jpg b/docs/images/oauth2/qq.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74321f7bb815dbb5156d527a7f19723b83306e72 GIT binary patch literal 45160 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 literal 0 HcmV?d00001 diff --git a/docs/images/oauth2/resource.jpg b/docs/images/oauth2/resource.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a269011cd09ce7730ad9326b409c511ef5ca13f GIT binary patch literal 18766 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 Q)$3`xT>!T9zyAMC0A=M9kpKVy literal 0 HcmV?d00001 diff --git a/docs/protocols/index.md b/docs/protocols/index.md new file mode 100644 index 000000000..1fd86eece --- /dev/null +++ b/docs/protocols/index.md @@ -0,0 +1,103 @@ +

1.什么是OAuth2

+ +OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。 + +OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。 + +采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的OAuth1.0协议,其认证流程更简单和安全。 + +Tips: + +如果您想对OAuth2.0开放标准进行扩展阅读,请参看:OAuth标准(英文) | OAuth维基百科(中文) + +

2.应用场景

+ +第三方应用授权登录:在APP或者网页接入一些第三方应用时,时长会需要用户登录另一个合作平台,比如QQ,微博,微信的授权登录。 + + +原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、请求后台数据。 + +前后端分离单页面应用(spa):前后端分离框架,前端请求后台数据,需要进行oauth2安全认证,比如使用vue、react后者h5开发的app。 + +

3.名词定义

+ +(1) Third-party application:第三方应用程序,本文中又称"客户端"(client),比如打开知乎,使用第三方登录,选择qq登录,这时候知乎就是客户端。 + +(2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",即上例的qq。 + +(3)Resource Owner:资源所有者,本文中又称"用户"(user),即登录用户。 + +(4)User Agent:用户代理,本文中就是指浏览器。 + +(5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。 + +(6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。 + +

4.运行流程

+ + +(A)用户打开客户端以后,客户端要求用户给予授权。 + +(B)用户同意给予客户端授权。 + +(C)客户端使用上一步获得的授权,向认证服务器申请令牌。 + +(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。 + +(E)客户端使用令牌,向资源服务器申请获取资源。 + +(F)资源服务器确认令牌无误,同意向客户端开放资源。 + +

5.四种授权模式

+ +授权码模式(authorization code) + +简化模式(implicit) + +密码模式(resource owner password credentials) + +客户端模式(client credentials) + +

5.1.授权码模式

+ +授权码模式(authorization code)是功能最完整、流程最严密的授权模式。 + +(1)用户访问客户端,后者将前者导向认证服务器,假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。 + +(2)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌:GET /oauth/token?response_type=code&client_id=test&redirect_uri=重定向页面链接。请求成功返回code授权码,一般有效时间是10分钟。 + +(3)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。POST /oauth/token?response_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=重定向页面链接。请求成功返回access Token和refresh Token。 + + +

5.2.简化模式Implicit

+ +适用于公开的浏览器单页应用 + +Access Token直接从授权服务器返回(只有前端渠道) + +不支持refresh tokens + +假定资源所有者和公开客户应用在同一个设备上 + +最容易受安全攻击 + + +

5.3.用户名密码 Resource Owner Credentials

+ +使用用户名密码登录的应用,例如桌面App + +使用用户名/密码作为授权方式从授权服务器上获取access token + +一般不支持refresh token + +假定资源拥有者和公开客户子啊相同设备上 + + +

5.4.客户端凭证 Client Credentials

+ +适用于服务器见通信场景,机密客户代表它自己或者一个用户 + +只有后端渠道,使用客户凭证获取一个access token + +因为客户凭证可以使用对称或者非对称加密,该方式支持共享密码或者证书 + diff --git a/docs/jwtintros.md b/docs/protocols/jwtintros.md similarity index 100% rename from docs/jwtintros.md rename to docs/protocols/jwtintros.md diff --git a/docs/protocols/oauth2.md b/docs/protocols/oauth2.md new file mode 100644 index 000000000..1fd86eece --- /dev/null +++ b/docs/protocols/oauth2.md @@ -0,0 +1,103 @@ +

1.什么是OAuth2

+ +OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。 + +OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。 + +采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的OAuth1.0协议,其认证流程更简单和安全。 + +Tips: + +如果您想对OAuth2.0开放标准进行扩展阅读,请参看:OAuth标准(英文) | OAuth维基百科(中文) + +

2.应用场景

+ +第三方应用授权登录:在APP或者网页接入一些第三方应用时,时长会需要用户登录另一个合作平台,比如QQ,微博,微信的授权登录。 + + +原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、请求后台数据。 + +前后端分离单页面应用(spa):前后端分离框架,前端请求后台数据,需要进行oauth2安全认证,比如使用vue、react后者h5开发的app。 + +

3.名词定义

+ +(1) Third-party application:第三方应用程序,本文中又称"客户端"(client),比如打开知乎,使用第三方登录,选择qq登录,这时候知乎就是客户端。 + +(2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",即上例的qq。 + +(3)Resource Owner:资源所有者,本文中又称"用户"(user),即登录用户。 + +(4)User Agent:用户代理,本文中就是指浏览器。 + +(5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。 + +(6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。 + +

4.运行流程

+ + +(A)用户打开客户端以后,客户端要求用户给予授权。 + +(B)用户同意给予客户端授权。 + +(C)客户端使用上一步获得的授权,向认证服务器申请令牌。 + +(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。 + +(E)客户端使用令牌,向资源服务器申请获取资源。 + +(F)资源服务器确认令牌无误,同意向客户端开放资源。 + +

5.四种授权模式

+ +授权码模式(authorization code) + +简化模式(implicit) + +密码模式(resource owner password credentials) + +客户端模式(client credentials) + +

5.1.授权码模式

+ +授权码模式(authorization code)是功能最完整、流程最严密的授权模式。 + +(1)用户访问客户端,后者将前者导向认证服务器,假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。 + +(2)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌:GET /oauth/token?response_type=code&client_id=test&redirect_uri=重定向页面链接。请求成功返回code授权码,一般有效时间是10分钟。 + +(3)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。POST /oauth/token?response_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=重定向页面链接。请求成功返回access Token和refresh Token。 + + +

5.2.简化模式Implicit

+ +适用于公开的浏览器单页应用 + +Access Token直接从授权服务器返回(只有前端渠道) + +不支持refresh tokens + +假定资源所有者和公开客户应用在同一个设备上 + +最容易受安全攻击 + + +

5.3.用户名密码 Resource Owner Credentials

+ +使用用户名密码登录的应用,例如桌面App + +使用用户名/密码作为授权方式从授权服务器上获取access token + +一般不支持refresh token + +假定资源拥有者和公开客户子啊相同设备上 + + +

5.4.客户端凭证 Client Credentials

+ +适用于服务器见通信场景,机密客户代表它自己或者一个用户 + +只有后端渠道,使用客户凭证获取一个access token + +因为客户凭证可以使用对称或者非对称加密,该方式支持共享密码或者证书 +