1. 程式人生 > >OAuth 白話簡明教程-簡述

OAuth 白話簡明教程-簡述

2.0 不用 社區 author blank client 如果 -c erl

轉自:http://www.cftea.com/c/2016/11/6702.asp

怎麽讀?

/‘?u ‘??θ/

1.0、2.0?

OAuth 1.0 比較復雜,沒流行起來,2.0 修改了流程,簡單了些,現在基本都是這個版本。

OAuth 適合幹什麽?

就是登錄授權,比如千一網絡要做一個社區,常規做法就是還需要建立一套用戶註冊登錄體系,網民很反感,那麽多用戶名密碼,記得記不到,但人人幾乎都有 QQ 帳號,為何不用 QQ 帳號登錄後,授權給千一網絡呢?可行,不過先要確定好相互之間認證的規範,這個規範有很多,也可以自己寫,但業界比較通用 OAuth。

OAuth 不適合幹什麽?

系統 A 向系統 B 發送/取數據,可以雙方直接保存一個密鑰,用這個密鑰對發的信息進行簽名、驗證簽名,不必上 OAuth 那麽復雜。

單點登錄也不一定適合,OAuth 其實也算單點登錄,但與標準的單點登錄在使用體驗上略有不同,如果是同一軟件開發商為同一客戶開發的多套系統,要實現一個帳號登錄多套系統,可能 OAuth 並不是最合適的,盡管它能夠辦到。

幾個名詞

先舉個虛擬的例子:用戶在 QQ 登錄,然後授權千一網絡社區使用,用戶以 QQ 帳號身份在千一網絡社區發布文章,同時將文章轉發到 QQ 空間。

用戶(User):有些人又稱資源擁有者(Resource Owner),我還是喜歡稱用戶,資源擁有者——文縐縐的。

用戶代理(User Agent):一般就是指瀏覽器,但不一定。

第三方應用(Third-party Application)

:上面的例子中就是指千一網絡。有些人又稱客戶端(Client),我不喜歡這樣,因為稱客戶端,老是容易讓人想到瀏覽器、用戶終端。

授權服務器(Authorization Server):上面的例子中就是指 QQ 登錄服務器

資源服務器(Resource Server):上面的例子中就是指 QQ 空間服務器。

OAuth 白話簡明教程-簡述