OAuth 2.0的運行流程如下圖,摘自RFC 6749。

> (A)用戶打開客戶端以后,客戶端要求用戶給予授權。
>
> (B)用戶同意給予客戶端授權。
>
> (C)客戶端使用上一步獲得的授權,向認證服務器申請令牌。
>
> (D)認證服務器對客戶端進行認證以后,確認無誤,同意發放令牌。
>
> (E)客戶端使用令牌,向資源服務器申請獲取資源。
>
> (F)資源服務器確認令牌無誤,同意向客戶端開放資源。
不難看出來,上面六個步驟之中,B是關鍵,即用戶怎樣才能給于客戶端授權。有了這個授權以后,客戶端就可以獲取令牌,進而憑令牌獲取資源。
下面一一講解客戶端獲取授權的四種模式。