2017-03-10 221 views
0

我已經安裝了WS02 API管理器並使用oauth2保護了我的後端REST服務。WSO2 API管理器Outh令牌驗證

這裏是我的設置

IP1:使用默認inbuild密鑰管理器API WSO2馬槽。我在這裏發佈了我的API。

IP2:資源服務器正在此處運行。

我有一個會談的關鍵馬槽獲得訪問令牌,並創建API馬槽公佈的API成功調用簡單的客戶端應用程序。這裏API管理器在將請求發送到我的資源服務器之前驗證令牌。

我正在尋找以下配置。這可能

  1. 應用程序將要API管理器只用於生成令牌
  2. 應用將直接請求資源服務器與令牌
  3. 資源服務器需要驗證與身份驗證服務器的令牌。

我確實在WSo2識別服務器中看到他們建議使用基於SOAP的機制來驗證令牌的解釋。但是,我無法得到我們如何實現這一目標。

有人可以澄清,需要做什麼修改資源服務器和API管理器才能獲得上述流程。由於我只使用API​​管理器來生成令牌,因此只能使用Identity Server更有意義?

+0

在資源服務器上,我應該對認證服務器進行SOAP調用?我嘗試了下面的curl --user admin:admin --header「Content-Type:text/xml」--header「SOAPAction:validate」-k -d @ soap.xml https://10.37.XX.XX: 8243/services/OAuth2TokenValidationService響應: – ram

+0

?xml version ='1.0'encoding ='UTF-8'?> axis2ns7:50978 ram

回答

0

讓我先解釋API管理器的用法。

API管理器用於爲您的API提供一層附加功能,例如授權,限制和其他QoS內容。

所以基本想法是,你的API發佈你WSO2 API管理器,它需要照顧的授權部分爲您的API。因此,當客戶端嘗試通過API Manager訪問您的API時,API Manager確保只有授權的客戶端才能訪問該API。

所以根據您的要求,似乎您想要在資源服務器上進行授權。在這種情況下,僅僅爲了生成令牌才使用API​​管理器是沒有意義的。

而應該使用WSO2 Identity Server。您的API客戶端可以調用Identity Server的令牌端點來生成令牌並將其發送到API請求中。您可以通過WSO2 Identity Server here找到有關OAuth2的更多詳細信息。

然後在資源上,您可以驗證訪問令牌。使用IS 5.3.0,有兩種方法可以驗證令牌。 OAuth2內省端點和SOAP服務。你可以找到更多的細節here

+1

感謝您的解釋,我將着眼於如何驗證oauth來自資源服務器的令牌。 – ram