開放授權

開放授權(OAuth)是一個開放標準,允許用戶讓第三方套用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯繫人列表),而無需將用戶名和密碼提供給第三方套用。

基本介紹

  • 中文名:開放授權
  • 外文名:OAuth
  • 性質:一個開放標準
  • 套用:讓用戶可以授權第三方網站訪問
  • 學科:電子信息
簡介,版本與歷史,歷史,OAuth 2.0,安全,用途,

簡介

OAuth允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務提供者的數據。每一個令牌授權一個特定的網站(例如,視頻編輯網站)在特定的時段(例如,接下來的2小時內)內訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth讓用戶可以授權第三方網站訪問他們存儲在另外服務提供者的某些特定信息,而非所有內容。
OAuth是OpenID的一個補充,但是完全不同的服務。

版本與歷史

歷史

OAuth開始於2006年11月,當時布萊恩·庫克正在開發Twitter的OpenID實現。與此同時,社交書籤網站Ma.gnolia需要一個解決方案允許使用OpenID的成員授權Dashboard訪問他們的服務。這樣庫克、克里斯·梅西納和來自Ma.gnolia的拉里·哈爾夫(Larry Halff)與戴維·雷科爾頓(David Recordon)會面討論在Twitter和Ma.gnolia API上使用OpenID進行委託授權。他們討論得出結論,認為沒有完成API訪問委託的開放標準
2007年4月,成立了OAuth討論組,這個由實現者組成的小組撰寫了一個開放協定的提議草案。來自Google的德維特·柯林頓(DeWitt Clinton)獲悉OAuth項目後,表示他有興趣支持這個工作。2007年7月,團隊起草了最初的規範。隨後,Eran Hammer-Lahav加入團隊並協調了許多OAuth的稿件,創建了更為正式的規範。2007年10月, OAuth核心1.0最後的草案發布了。
2008年11月,在明尼阿波利斯舉行的網際網路工程任務組第73次會議上,舉行了OAuth的BoF討論將該協定納入IETF做進一步的規範化工作。這個會議參加的人很多,關於正式地授權在IETF設立一個OAuth工作組這一議題得到了廣泛的支持。
2010年4月,OAuth 1.0協定發表為RFC 5849,一個非正式RFC

OAuth 2.0

OAuth 2.0是OAuth協定的下一版本,但不向下兼容OAuth 1.0。OAuth 2.0關注客戶端開發者的簡易性,同時為Web套用,桌面套用和手機,和起居室設備提供專門的認證流程。
Facebook的新的Graph API只支持OAuth 2.0,Google在2011年3月也宣布Google API對OAuth 2.0的支持,Windows Live也支持OAuth 2.0。

安全

2009年4月23日,OAuth宣告了一個1.0協定的安全漏洞。該漏洞影響了OAuth 1.0核心規範第6節的OAuth的認證流程(也稱作3階段OAuth)。於是,發布了OAuth Core協定1.0a版本來解決這一問題。
2014年5月,新加坡南洋理工大學一位名叫王晶(Wang Jing)的數學系博士生,發現了OAuthOpenID開源登錄工具的"隱蔽重定向漏洞"(Covert Redirect)。該漏洞首先由CNET報導。騰訊QQ、新浪微博、阿里巴巴淘寶、支付寶、搜狐網、網易、人人網、開心網、亞馬遜、微軟Live、WordPress、eBay、PayPal、Facebook、Google、Yahoo、LinkedIn、VK.com、Mail.Ru、Odnoklassniki.ru、GitHub等大量知名網站受影響。黑客可利用該漏洞給釣魚網站“變裝”,用知名大型網站連結引誘用戶登錄釣魚網站,一旦用戶訪問釣魚網站並成功登入授權,黑客即可讀取其在網站上存儲的私密信息。該問題被鳳凰網,網易,搜狐,太平洋電腦網,人民網,CSDN等大量中文網站報導。其實漏洞不是出現在OAuth這個協定本身,這個協定本身是沒有問題的,之所以存在問題是因為各個廠商沒有嚴格參照官方文檔,只是實現了簡版。問題的原因在於OAuth的提供方提供OAuth授權過程中沒有對回調的URL進行校驗,從而導致可以被賦值為非原定的回調URL,就可以導致跳轉、XSS等問題,甚至在對回調URL進行了校驗的情況可以被繞過。目前大部分被涉及的網站都已經修復該問題。

用途

OAuth可以用作授權機制來使用受保護的RSS/ATOM訂閱源。消費需要認證的RSS / ATOM訂閱源一直是個問題。例如,使用Google閱讀器就不能使用安全的Google網站提供的RSS源。相反,OAuth將被用來授權該RSS客戶端訪問來自Google網站的訂閱源。

相關詞條

熱門詞條

聯絡我們