2012-02-14 122 views
5

我正在爲我們的系統開發基於REST的API。我們將有幾種類型的客戶端:客戶端的OAuth 2.0定義

  • Web瀏覽器 - 加載HTML5應用我們開發由第三方開發的
  • 移動應用
  • 移動應用程序後,那些將要訪問我們的API

我想問一下我們應該用什麼策略來定義客戶端。例如。

  • 需要在我們的系統中,每個用戶將其定義爲一個客戶,因爲他們需要通過身份驗證或者是被認爲是一個客戶端的Web客戶端?

  • 我們是否將一個客戶端分配給我們的iPhone應用程序,另一個分配給我們的Android應用程序?

  • 是否每個使用我們的API的第三方開發者都獲得一個單獨的客戶端ID?

感謝,

阿薩夫

+0

所以我們沒有爲每個用戶創建一個客戶端。每個應用只有一個客戶端(我們或第三方)。 – checklist 2012-07-23 17:01:40

回答

2

參觀Google API console,創建一個項目的不同配置的OAuth使用的客戶端類型。然後訪問API訪問菜單以創建客戶端ID。您將看到不同客戶端類型需要哪些數據,包括Web應用程序,Android和iPhone應用程序。這可能有助於確定你自己的要求。

下面是截圖:

enter image description here

+0

謝謝。這是一個很好的例子。使它更容易遵循。 – checklist 2012-07-28 05:46:59

0

它是一個很好的問題。我一直在考慮這個,這是出於我自己的原因。以下是我認爲我將要做的事情:

a)根據OAuth,沒有將每個用戶定義爲客戶端。 OAuth方面的客戶是提供授權機制的定義。 B)我會基於OAuth的類型定義我的客戶流,你需要爲他們

所以例如 你可以使用所有的客戶相同的客戶端類型的支持。根據OAuth 2規範(http://tools.ietf.org/html/draft-ietf-oauth-v2-25),移動客戶和網絡客戶被認爲是「公共客戶」,所以也許你可以決定你將僅支持所有客戶端的隱式授權類型,並且這些可以表示爲OAuth中的1個客戶端類型

c)您可以決定區分不同類別用戶的好處,例如您可能需要不同的令牌超時期限對於不同的客戶端,所以您應該爲這些定義不同的客戶端類型。

綜上所述,我認爲你應該定義一個基於你需要支持的授權類型,你需要支持

相關問題