2012-07-23 114 views
2

給我打電話給一個新手,打電話給我啞巴,對這個話題評價。盡你所能,我只是在這裏問一個問題,並希望學習東西從它。對OAuth感到困惑

所以我今天一直在爲我的網站製作一個API(很好的嘗試),並且我注意到了大多數流行網站API(如Twitter,Foursquare,Tumblr)上的這個「事物」,稱爲「OAuth」。從我今天的研究中,我瞭解到,它基本上是一種讓消費者獲得來自提供者的受限數據的令牌,這取決於用戶在沒有用戶移交密碼和用戶名的情況下選擇的內容。

爲什麼我必須使用OAuth,爲什麼我不能只是給消費者密鑰API,他們只是使用它?然後,我會看到用戶是否允許訪問應用程序,並且他們將不得不授予應用程序訪問其帳戶信息的權限,例如照片。

也讓我困惑的是爲什麼Tumblr API使用兩者。它在閱讀博客詳細信息時遇到困難,他們使用簡單的API密鑰,但在博客上張貼需要使用OAuth簽名

回答

2

OAuth是一個協議,並有一組由一些專家組定義的規範來定義如何共享數據。 基本上你所看到的僅僅是OAuth機制的一部分,並且存在大量的通信和握手機制來確保用戶數據的安全性,避免未經授權的數據訪問。

的OAuth機構離開在2級

  1. 三腳認證
  2. 雙足式認證

兩者都有自己的優點和缺點,並有一組程序,其需要是照顧安全和數據完整性。

只允許基於access_token/consumer密鑰的訪問實際上是一個非常弱的安全機制,並且可以輕易地被任何碰巧能夠訪問您的使用者密鑰的人攻擊,同時OAuth系統通過共享時間限制access_token來確保。

詳情請參閱此線程oauth-2-0-benefits-and-use-cases-why