OAuth 白話簡明教程-簡述
轉自: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)
授權服務器(Authorization Server):上面的例子中就是指 QQ 登錄服務器
資源服務器(Resource Server):上面的例子中就是指 QQ 空間服務器。
OAuth 白話簡明教程-簡述