2012-07-09 72 views
4

我正在研究我們的客戶公司將用於訪問公司特定數據的API。我們已經準備好了API,現在正在研究如何保護通信。明顯的選擇是OAuth(2?),但在我們的案例中,訪問API不是用戶特定的,而是特定於公司的。基於組權限的OAuth的OAuth

例如,我們將有一個將連接到API的移動應用程序,並且選擇安裝應用程序的給定公司中的每個人都應該可以訪問API,而無需任何其他身份驗證/ OAuth舞蹈。

高層次,思想是使用共享密鑰對特定客戶端應用進行硬編碼,以便他們只能訪問正確的數據 - 這不會是OAuth,而是一些自定義解決方案......但在某些時候,它可能是可能的,我們也將通過個人權限進行個人權限,因爲OAuth更合適,所以基於標準和未來友好的東西就是期望的解決方案。

任何指針?只是試圖以最好的角度填補空白,以繼續前進。閱讀時,看起來像這樣的服務器到服務器模型,其中Apigee recommends against使用OAuth。

回答

3

是的,這絕對是而不是 OAuth旨在解決什麼問題。 Apigee對雙向SSL的建議是服務器到服務器認證/授權的正確方法。您向每臺服務器頒發一個x509證書,並且當他們彼此發起SSL連接時,他們驗證對方的證書來自可信來源。此功能內置於大多數服務器開發平臺中,並不是很難設置。

+0

OAuth用於授權公司A(oauth客戶端)訪問用戶以前提供給公司B(oauth提供商)的數據。 – 2012-07-09 04:07:49

+0

同意。您可以推動它使oAuth能夠解決這個問題,但僅使用證書確實更容易。 – 2012-07-09 16:07:37

+0

@RobertLevy所以簡而言之,我們爲每個客戶頒發證書,證書被安裝在移動應用程序,Web瀏覽器等中,我們使用它來配置他們可以看到的數據?看起來您的答案主要集中在服務器到服務器模型上,我只是將其引用爲類似的方法,但不是主要問題。乾杯。 – 2012-07-09 17:29:44