本身總結的可能有偏差。瀏覽器
大體分爲6個步驟:安全
1.註冊相關應用,獲取client_id,client_secret。
2.第三方請求用戶受權。用戶點擊按鈕贊成受權後,受權服務器將生成一個用戶憑證(code)
當咱們向受權服務器提交應用信息時(就是註冊應用時),一般須要填寫一個redirect_uri,當咱們引導用戶進入受權頁面時,也會附帶一個redirect_uri的信息(如Sign in to GitHub),當受權服務器驗證兩個URL一致時,會通知瀏覽器跳轉到redirect_uri,同時,在redirect_uri後附加用戶憑證(code)的相關信息服務器
3.請求受權服務器受權。須要如下參數:
client_id 標識第三方應用的id,由受權服務器(Github)在第三方應用提交時頒發給第三方應用code
client_secret 第三方應用和受權服務器之間的安全憑證,由受權服務器(Github)在第三方應用提交時頒發給第三方應用資源
code 第一步中返回的用戶憑證
redirect_uri 第一步生成用戶憑證後跳轉到第二步時的地址it
state 由第三方應用給出的隨機碼cli
4.拿到驗證憑證(Access Token)
受權服務器驗證經過後,會將Access Token返回給第三方應用。
5.請求訪問用戶資源:
拿到驗證憑證(Access Token)後資源服務器會提供一系列關於用戶資源的API,拿驗證憑證(Access Token)訪問相應的API便可。
6.返回資源,OAuth流程結束。請求