欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OAuth從1.0到2.1的發(fā)展之路

 更新時間:2021年11月23日 16:23:35   作者:SpringLeee  
OAUTH協(xié)議為用戶資源的授權(quán)提供了一個安全的、開放而又簡易的標(biāo)準(zhǔn)。簡單來說就是提供除了"賬戶密碼"驗證方式以外的驗證授權(quán)方式。這篇文章介紹了OAuth從1.0到2.1的發(fā)展之路,感興趣的同學(xué)可以收藏一下

背景

2010年, OAuth 授權(quán)規(guī)范 1.0 (rfc 5849) 版本發(fā)布, 2年后, 更簡單易用的 OAuth 2.0 規(guī)范發(fā)布(rfc 6749), 這也是大家最熟悉并且在互聯(lián)網(wǎng)上使用最廣泛的版本, 在2012年的時候, iPhone 5 是全新的, 微軟最新的瀏覽器還是 IE9, 單頁面應(yīng)用在當(dāng)時還被稱作 "Ajax 應(yīng)用", CORS(跨域資源共享)還不是一個W3C標(biāo)準(zhǔn)。

到現(xiàn)在, 網(wǎng)絡(luò)和移動領(lǐng)域發(fā)生了巨大的變化, 當(dāng)時發(fā)布的授權(quán)協(xié)議標(biāo)準(zhǔn)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)在的場景和需求, 為了應(yīng)對這種不斷變化的局面, OAuth 社區(qū)多年來一直在修補(bǔ)和擴(kuò)展 OAuth 規(guī)范, OAuth 的格局也不斷擴(kuò)大, 越來越多的圍繞 OAuth 2.0 core 的擴(kuò)展授權(quán)規(guī)范出現(xiàn), 也讓 OAuth 2.0 整體看起來就像一個迷宮一樣。

不斷進(jìn)化的 OAuth 2.0

在 OAuth 2.0 核心規(guī)范 (RFC 6749)中, 定義了四種授權(quán)類型:授權(quán)碼、隱式、密碼和客戶端憑據(jù), 如下:

相信大家都很熟悉, 在 OAuth 2.0 中,最安全也是使用最普遍的就是授權(quán)碼模式, 而對于本地應(yīng)用,移動應(yīng)用來說, 通常會使用隱式和密碼授權(quán), 這兩種本身就是不安全的, 因為這些屬于公開的客戶端, 本身沒有能力保護(hù)客戶端機(jī)密, 但是當(dāng)時并沒有其它好的方案。

為了解決 OAuth 2.0 對公開客戶端的授權(quán)安全問題, PKCE (RFC 6379)協(xié)議應(yīng)運(yùn)而生, 全稱是 Proof Key for Code Exchange,PKCE 的原理是, 對于公共的客戶端, 如果不能使用客戶端秘鑰(client_secret), 那客戶端就提供一個自創(chuàng)建的證明 (code_verifier) 給授權(quán)服務(wù)器,其中使用了加密算法, 授權(quán)服務(wù)器通過它來驗證客戶端。

后來,"OAuth 2.0 for Native Apps"(RFC 8252)規(guī)范發(fā)布,推薦原生應(yīng)用也使用授權(quán)碼 + PKCE。

隨著技術(shù)不斷地發(fā)展, 出現(xiàn)了設(shè)備授權(quán)的場景, 這里設(shè)備指智能電視,打印機(jī)等, 和傳統(tǒng)的PC或者手機(jī)不同, 這種設(shè)備是缺少瀏覽器或者鍵盤的,那 OAuth 2.0 常規(guī)的授權(quán)模式肯定是不能滿足的, 于是就出現(xiàn)了設(shè)備授權(quán)(Device Grant) 。

在 OAuth 2.0 安全最佳實踐(Security BCP)中, 棄用了隱式和密碼授權(quán),并且推薦所有的客戶端都應(yīng)該使用 Authorization Code + PKCE 的組合。

最終, 調(diào)整后的 OAuth 授權(quán)模式會更加精簡, 轉(zhuǎn)換成下面三種, 這也是 OAuth 2.1 的思想, 參考安全最佳實踐(BCP),取其精華, 去其糟粕。

總結(jié)

歸根結(jié)底, OAuth 2.1 并不是要推翻 OAuth 2.0,而是根據(jù)其安全最佳實踐(BCP), 移除不安全的授權(quán)流程, 并且對擴(kuò)展協(xié)議進(jìn)行整合, 讓原本復(fù)雜如迷宮的 OAuth 2.0 規(guī)范成為更易用,更安全的授權(quán)規(guī)范。

參考資料

The OAuth 1.0 Protocol
The OAuth 2.0 Authorization Framework
The OAuth 2.1 Authorization Framework draft-ietf-oauth-v2-1-04

OAuth 2.0 for Native Apps
OAuth 2.0 Device Authorization Grant
Proof Key for Code Exchange by OAuth Public Clients

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論