跳至主要内容
版本:V3.0

流程


OAuth 2.0流程

(A) 客戶端向資源所有者請求授權。授權請求可以直接向資源所有者發出(如圖所示),或最好通過授權服務器作爲中介間接發出。

(B) 客戶端收到一個授權許可,這是表示資源所有者授權的憑證,可以使用本規範中定義的四種授權類型之一或使用擴展授權類型來表達。授權類型取決於客戶端請求授權的方法以及授權服務器支持的類型。

(C) 客戶端通過向授權服務器進行身份驗證並出示授權許可來請求訪問令牌。

(D) 授權服務器對客戶端進行身份驗證並驗證授權許可,如果有效,則發放訪問令牌。

(E) 客戶端向資源服務器請求受保護的資源,並通過出示訪問令牌進行身份驗證。

(F) 資源服務器驗證訪問令牌,如果有效,則提供請求的資源。



OAuth 2.0授權碼模式

(A) 客戶端通過將資源所有者的用戶代理引導到授權端點來啓動流程。客戶端包含其客戶端標識符、請求的範圍、本地狀態以及一旦授權成功(或被拒絕)後授權服務器將用戶代理發送回的重定向URI。

(B) 授權服務器通過用戶代理對資源所有者進行身份驗證,並確定資源所有者是否授予或拒絕客戶端的訪問請求。

(C) 假設資源所有者授予了訪問權限,授權服務器使用先前提供的重定向URI(在請求中或在客戶端註冊期間)將用戶代理重定向回客戶端。重定向URI包含授權碼以及客戶端先前提供的任何本地狀態。

(D) 客戶端通過在請求中包含上一步收到的授權碼,從授權服務器的令牌端點請求訪問令牌。在發出請求時,客戶端對授權服務器進行身份驗證。客戶端包含用於獲取授權碼的重定向URI以供驗證。

(E) 授權服務器對客戶端進行身份驗證,驗證授權碼,並確保收到的重定向URI與步驟(C) 中用於重定向客戶端的URI相匹配。如果驗證通過,授權服務器將返回訪問令牌,且可選地返回刷新令牌。



OAuth 2.0密碼模式

(A) 資源所有者向客戶端提供其用戶名和密碼。

(B) 客戶端通過包含從資源所有者收到的憑證,向授權服務器的令牌端點請求訪問令牌。在發出請求時,客戶端對授權服務器進行身份驗證。

(C) 授權服務器對客戶端進行身份驗證並驗證資源所有者的憑證,如果有效,則發放訪問令牌。



OAuth 2.0客戶端模式

(A) 客戶端向授權服務器進行身份驗證,並從令牌端點請求訪問令牌。

(B) 授權服務器對客戶端進行身份驗證,如果驗證通過,則發放訪問令牌。



OAuth 2.0刷新訪問令牌

(A) 客戶端通過向授權服務器進行身份驗證並提供授權授予來請求訪問令牌。

(B) 授權服務器對客戶端進行身份驗證並驗證授權授予,如果有效,則發放訪問令牌和刷新令牌。

(C) 客戶端通過提供訪問令牌向資源服務器發出受保護資源請求。

(D) 資源服務器驗證訪問令牌,如果有效,則處理請求。

(E) 步驟 (C) 和 (D) 重複,直到訪問令牌過期。如果客戶端知道訪問令牌已過期,則跳到步驟 (G);否則,它會再次發出受保護資源請求。

(F) 由於訪問令牌無效,資源服務器返回無效令牌錯誤。



管理員功能流程



用戶功能流程



通用功能流程



其他功能流程