2013-05-08 20 views
0

我正在使用GTMOAuth-2庫實現向Asana API的OAuth 2授權代碼授權流程,但始終找回服務器錯誤500.GTMHTTPFetcher日誌如下(有選擇地刪節):Asana服務器在使用GTMOAuth 2的OAuth 2請求上返回錯誤代碼500

fetch tokens for app.asana.com 

2013-05-08 16:46:58 +0000 
Request: POST https://app.asana.com/-/oauth_authorize 
Request headers: 
Content-Type: application/x-www-form-urlencoded 
User-Agent: gtm-oauth2 <user-agent> 

Request body: (199 bytes) 
client_id=<client-id>&client_secret=_snip_&code=<client-secret>&grant_type=authorization_code&redirect_uri=http%3A%2F%2Fwww.google.com%2FOAuthCallback 

Response: status 500 
Response headers: 
Cache-Control: no-store 
Content-Length: 303 
Content-Type: text/html; charset=UTF-8 
Date: Wed, 08 May 2013 16:46:56 GMT 
Pragma: no-cache 
Server: nginx 
Set-Cookie: <cookie> 
X-Asana-Content-String-Length: 303 
X-Asana-Preferred-Release-Revision: 20130508_073846_310cafc985fd5fb43121784b58d5dcd2503ffffe 

Response body: (303 bytes) 
<html> 
<head> 
<title>Error</title><script>__FILE__="(none)";var config = { 
"CLUSTER": "prod", 
"PRETTY_JS_CODEGEN": false, 
"ENABLED_FEATURES": "" 
};</script><link rel="shortcut icon" href="/-/static/luna/browser/images/favicon.ico" /> 

</head> 
<body> 
<h3>Error</h3><pre>Server Error</pre> 
</body> 
</html> 

我有雙重檢查的權威性和令牌的URL,客戶端ID和祕密的,確信的體位和應用重定向的URI匹配。有趣的是,授權流程似乎得到授權應用程序(Asana網站將應用程序記錄爲授權),但似乎永遠不會返回授權令牌。有沒有我可能會出錯的地方,還是這是一個真正的內部服務器錯誤?

+0

(我在Asana工作)我們永遠不會回覆500,所以確實有一個錯誤。我們會調查並回復你。 – 2013-05-08 19:12:26

回答

0

(我在Asana工作)。我不確定這個請求的流程在哪裏,但看起來不正確。獲得授權碼後(通過讓用戶與Asana表單交互),圖書館應該向我們的/-/oauth_token端點發送請求,並將代碼傳遞給我們。因此,您可能只需要使用/-/oauth_token端點而不是/-/oauth_authorize端點即可。

如果你看看我們的OAuth examples你會注意到有兩個不同的URL,一個用於授權,一個用於令牌交換。

Asana可能會返回一個500,因爲它沒有預期到這一點,我們沒有做足夠好的工作來解決問題。

+0

感謝格雷格 - 你是一個天才(我顯然,即使在檢查兩次時也看不到東西)。我使用身份驗證URL進行身份驗證和令牌請求 - 已更改並且工作得很好。感謝您回覆。 – Echobeko 2013-05-08 23:37:56

+0

很高興我能幫上忙! – 2013-05-08 23:40:12

相關問題