2012-06-13 15 views
3

我的公司向其他網站提供服務。我希望能夠給他們一個簡單的代碼片段嵌入他們的網站(比如一個小部件),它會發送一個查詢到我正在實現的服務,接收響應並在頁面中顯示結果。我想盡量減少他們的努力,只給他們儘可能最小的片段。這也是爲什麼我想保留所有客戶端。是否有安全的方法來實現我的客戶將嵌入的客戶端代碼片段

問題是,我想確保通話實際上是由我的客戶完成的,而不是其他任何人從該網站複製代碼。我查看了Web客戶端oauth2流程,但似乎並未啓用對客戶端進行身份驗證。它確實表示有一種方法可以通過將回調URL與客戶端向我的服務註冊的URL進行比較來驗證客戶端。

我的問題:

  1. 有沒有更好的方法嗎?
  2. oauth2客戶端方法,包括所描述的用於驗證客戶端的方法是否足夠安全?
  3. 如果我去推薦實施,我應該注意什麼?
+0

所以基本上這個代碼片段會在不同位置(隨機網站訪問者)的衆多客戶端上運行,但是您希望確保每個代碼都在特定的id(您的客戶)的上下文中執行,應該不可欺騙?聽起來像是一個非常困難甚至不可能完成的任務。 +1雖然,等待迴應... – deceze

回答

0

您可以使用OAuth-2.0中定義的客戶端憑證授予授權。這將允許您爲每個單獨的客戶端分配一個單獨的客戶端令牌和客戶端密鑰,並且它們發送令牌來獲取訪問令牌並使用訪問令牌請求數據。

或者您可以跳過所有OAuth,並使用SOAP WS-Security以及分配給每個客戶端的證書來授權Web服務。

+0

謝謝你的回答。我實際上研究了oauth 2.我遇到的問題是,爲了讓我的客戶端使用客戶端祕密和客戶端令牌(完整的oauth2流),他們需要實現服務器端代碼。我希望有一些方法可以讓他們避免這種情況。 – davidrac