OAuth(開放受權)是一個開放標準。容許第三方網站在用戶受權的前提下訪問在用戶在服務商那裏存儲的各類信息。而這種受權無需將用戶提供用戶名和密碼提供給該第三方網站。瀏覽器
OAuth容許用戶提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。服務器
一、參與者app
(1) Third-party application:第三方應用程序,又稱客戶端(client),如:"雲沖印"、社交應用。網站
(2)HTTP service:HTTP服務提供商,如:百度網盤、騰訊。代理
(3)Resource Owner:資源全部者,如:網盤用戶、QQ用戶(user)。code
(4)User Agent:用戶代理,瀏覽器。server
(5)Authorization server:認證服務器,即服務提供商專門用來處理認證的服務器。blog
(6)Resource server:資源服務器,即服務提供商存放用戶生成的資源的服務器。它與認證服務器,能夠是同一臺服務器,也能夠是不一樣的服務器。token
二、運行機制ci
上面六個步驟之中,關鍵是步驟 B,即用戶怎樣才能給與客戶端受權。有了這個受權之後,客戶端就能夠獲取令牌,進而憑令牌獲取資源。
三、OAuth2.0的四種受權模式(客戶端的四種調用方式)
客戶端必須獲得用戶的受權(authorization grant),才能得到令牌(access token)。OAuth 2.0定義了四種受權方式。