2011-04-26 137 views
5

我只是試圖使用LinkedIn登錄。根據LinkedIn,他們使用OAuth 1.0a,這意味着我應該在獲取請求令牌時發送oauth_callback參數。以下是我在下面生成的鏈接。鏈接忽略我的oauth_callback

https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin

我得到一個有效的響應回來的組oauth_token,oauth_token_secret,oauth_callback_confirmed =真等

但是我登錄到LinkedIn後,我得到的OOP代碼來進入我的應用程序,而不是它只是使用我發送的oauth_callback重定向。

我現在正在測試的網址是我的本地主機,但它在活動服務器上完全一樣。

對此有任何想法。我搜索了LinkedIn和其他stackoverflow答案,嘗試了很多東西,沒有一個工作。

使用C#,ASP.NET MVC 3,.NET 4.0

+0

這可能是他們有一個bug;你可以寫他們關於這個問題。在他們的文檔中寫道,他們處理oauth_callback參數,所以它不應該是OOP。 – middlehut 2011-04-26 07:23:04

回答

3

的oauth_callback應該在用於請求令牌而不是查詢字符串請求的報頭中發送。例如:

POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1 
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0" 
Host: api.linkedin.com 
Connection: Keep-Alive 

更多信息,請訪問:http://developer.linkedin.com/docs/DOC-1245

你會看到oauth_callback是可選的,因爲LinkedIn沒有看到在「授權」頭的oauth_callback,它是將用戶重定向添加到您在應用程序設置中指定的「OAuth重定向網址」。不過,我猜你已將這個「OAuth重定向網址」設置爲空,這就是爲什麼你被重定向到OOP頁面的原因。

我希望有幫助。

+0

我還沒有機會回來嘗試一下,希望本週 – Darye 2011-05-11 03:42:00

+1

你給的鏈接似乎意味着'POST數據/ body'而不是'POST header'? http://oauth.net/core/1.0a/#consumer_req_param – 2012-02-24 03:50:15

+0

根據LinkedIn的文檔。我們需要向URL發送POST請求https://api.linkedin.com/uas/oauth/requestToken 閱讀:http://developer.linkedin.com/documents/getting-oauth-token – 2013-01-09 22:00:03