2015-11-26 27 views
0

假設我有一個適用於我的產品的REST API。您如何驗證第三方開發者通過oAuth 2.0訪問您的API?

我想只爲註冊此產品的開發人員提供訪問權限。此外,還有幾個計劃可用,因此API的某些部分無法在免費計劃中訪問。

從我看到的授予類型只有客戶端憑證似乎是最接近的解決方案。但是,這不會對存儲在我的產品數據庫中的開發者帳戶進行身份驗證,它只會爲該客戶端獲取訪問令牌。用戶實際上本身不會「登錄」。此外,根據我見過的實現,單個客戶端可以被所有人重用。

我看到的唯一方法是創建一個自定義授予類型,方法是向客戶端證書類型(與開發者帳戶相關)中添加一個額外的api_key。

有沒有辦法與現有的授權類型做到這一點?自定義類型的引入不適用於許多開箱即用的oAuth2庫,我不想讓開發者修改它們的麻煩。

回答

0

我不認爲你必須發明一種自定義授權類型。

只有當每個人都知道客戶端祕密時,單個客戶端才能被所有人重複使用。 (1)當你向開發者發出一對客戶端ID和客戶端密鑰時(2)激勵開發者不透露客戶端祕密,你需要做的是(1)認證開發者給他人。

+0

如何在發出client_id/secret之前對開發者進行身份驗證? –

相關問題