2012-07-31 162 views
13

所以很顯然使用OAuth 1.0,你需要獲得消費者的關鍵,並從API提供商消費者的祕密......不OAuth 2.0用戶需要消費者鍵/消費祕密

但是當我嘗試使用OAuth 2.0的API,例如Facebook,谷歌Oauth 2.0等我從來沒有需要獲得消費者密鑰/消費者的祕密(我收購了Facebook的應用ID和應用祕密,但那些不同於消費者密鑰/消費者祕密我是否正確?)

所以我的問題是...是真的,使用OAuth 2.0的時候,你不需要有一個消費者鍵/消費者的祕密中的Oauth 1.0

而且沒有Oauth 2.0所需的簽名方法(HMAC-SHA1等),這是否正確? HMAC-SHA1僅與Oauth 1.0相關,對嗎?

回答

15
  1. OAuth 2提供商通常會向您發送您的客戶端/應用程序的標識符以及一些密碼/密碼,OAuth草稿將這些標記稱爲client identifier and client secret。這些用於檢查您的應用程序是否確實發出了呼叫。但是,OAuth涵蓋了不同的Authorization Grant flows,它們或多或少都是安全的,並不都需要某種祕密。谷歌稱他們客戶端ID端密鑰,Facebook的稱他們爲應用程序ID應用祕密,但它們都是相同的。
  2. 是的,所有的加密步驟在OAuth的2
0

兩者都是同樣轉移到服務器端。所使用的術語因應用程序/用戶/客戶端而異。這就是它。兩者都是一樣的。

你指的是被稱爲客戶端憑證
5

授權撥款流程授予在OAuth 2規範流程。它用於執行純應用程序認證。意味着沒有用戶參與。一個典型的例子是在主頁上顯示推文Feed。

通常應用通過這兩個使用者密鑰(或應用程序ID)和用戶密鑰(或應用祕密)通過HTTPS服務器。此請求僅受HTTPS保護;沒有額外的加密。服務器返回一個令牌,您可以使用該令牌向API發出請求 - 因爲它不需要用戶上下文。

消費者鍵(或應用程序ID)標識應用程序,並且可以具有一個有意義的值。你通常不會(或不能)改變這一點。然而,消費者的祕密可以重新生成,以防您認爲它已被泄露。這解釋了爲什麼有兩個鍵。

再生消費者的祕密是,不會幫助你,如果消費者密鑰和消費者祕密已經泄露令牌無效不同。

相關問題