2012-12-18 30 views
1

我對WSO2非常陌生,現在仍在評估它 - 主要是通過Fiddler。我的理解是,我應該能夠通過調用WSO2的登錄API來獲得OAuth令牌。如何使用Consumer Key/Secret從WSO2獲取OAuth令牌?

//基於掀起了博客文章:http://lalajisureshika.blogspot.com/2012/11/generate-application-tokens-user-tokens.html

http://localhost:8280/login?grant_type=password&username=admin&password=admin&scope=PRODUCTION 
Authorization: Basic cFNET0lab1RnMHRBODRCWmQ4bTRBbnp1c0RZYTpZREIzZzh3RXhQOV92ZTdZX1drYVhieWx5ZlVh 

當我執行上面的網址,我收到(403)不匹配的資源我都沿着線嘗試各種URL(在小提琴手)在給定請求的API中找到。

我可以使用「訪問令牌」(通過承載標籤)和API工作。我只是無法弄清楚如何獲得實際運行時使用的OAuth令牌。

任何指針/想法?

---謝謝,傑夫

回答

0

您可以直接訪問的OAuth2 REST Web服務來訪問token.Here是如何使用捲曲

curl --user ConsumerKey:ConsumerSecret -k -d "grant_type=password&username=admin&password=admin" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2endpoints/token 
+0

濟喜ff,這只是爲了清楚瞭解您的問題。博客中提到的「登錄API」特定於WSO2 API Manager產品。希望您嘗試使用它。您嘗試使用的是哪種版本的API Manager?並根據你得到的錯誤「(403)在給定請求的API中找不到匹配的資源。」,這似乎是您的請求url的問題。 –

+0

是的,我正在嘗試使用WSO2 API Manager來做到這一點。我在大約2天前使用了最新版本。 –

+0

ajanthan,任何想法查詢字符串和HTTP標頭應該看起來像這樣我可以嘗試這與小提琴手?我嘗試了一些方法,但尚未找到正確的方法。 –

2
  1. 安裝Identity Server的訪問令牌[domain:9443 ]
  2. 創建OAuth2應用程序,並獲取客戶端ID +使用者密鑰
  3. 獲取base64編碼的clientId:consumerKey - 將其替換爲Author化基本爲XXXXX
  4. 更換爲令牌生成的REST端點 - 這個你應該得到的OAuth應用程序管理控制檯上的[在我們的例子https://domain:9443/oauth2/token]

及以下的curl命令應該給您迴應

curl -k -d "grant_type=password&[email protected]&password=xxxx1234" -H "Authorization" -H "Authorization: Basic X2dhWllidkN6TDNQY2ZqSmVBQ1lsNlg2SFdRYTpSQVlSMmxOZzQ0enU5ZXVGSDRDVXdOUWRudlVh, Content-type=application/x-www-form-urlencoded" https://domain:9443/oauth2/token 
0

下面是一個示例,默認情況下在linux中使用cURL工具(您可以顯式安裝cURL for windows)

curl -v 4 -X POST -H「Content-Type:application/x-www-form-urlen編碼;字符集= UTF-8" -k -d 「grant_type =密碼&用戶名= &密碼= & CLIENT_ID = & client_secret = 」 https://開頭:9443 /的oauth2 /令牌

要獲取client_secret & client_id,您必須在wso2is中註冊一個應用程序。

有免費工具可用於構建上述請求或直接使用上述參數並獲取令牌。

0

安裝Identity Server [域名:9443] 創建OAuth2應用程序,並獲取客戶端ID,使用者密鑰和URL。通過使用 '海報' 與波紋管細節

過程發佈請求,

URL: - 從OAuth的應用

內容類型獲得: - 應用程序/ x-WWW窗體-urlencoded

體: - grant_type =密碼&用戶名=您的用戶名密碼& =您的密碼&的client_id =您的客戶端ID & client_secret =您的客戶端機密

相關問題