天天看點

了解 OAuth 2.0

了解OAuth 2.0 

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

一、簡介

​​OAuth​​是一個關于授權(authorization)的開放網絡标準,在全世界得到廣泛應用,目前的版本是2.0版。

三、OAuth的思路

OAuth在"用戶端"與"服務提供商"之間,設定了一個授權層(authorization layer)。"用戶端"不能直接登入"服務提供商",隻能登入授權層,以此将使用者與用戶端區分開來。"用戶端"登入授權層所用的令牌(token),與使用者的密碼不同。使用者可以在登入的時候,指定授權層令牌的權限範圍和有效期。

"用戶端"登入授權層以後,"服務提供商"根據令牌的權限範圍和有效期,向"用戶端"開放使用者儲存的資料。

四、運作流程

(A)使用者打開用戶端以後,用戶端要求使用者給予授權。

(B)使用者同意給予用戶端授權。

(C)用戶端使用上一步獲得的授權,向認證伺服器申請令牌。

(D)認證伺服器對用戶端進行認證以後,确認無誤,同意發放令牌。

(E)用戶端使用令牌,向資源伺服器申請擷取資源。

(F)資源伺服器确認令牌無誤,同意向用戶端開放資源。

不難看出來,上面六個步驟之中,B是關鍵,即使用者怎樣才能給于用戶端授權。有了這個授權以後,用戶端就可以擷取令牌,進而憑令牌擷取資源。