我正在遷移到Oauth 2.0。我目前的網站使用JS SDK,有一個fb登錄按鈕,然後我訪問圖形來獲取用戶的詳細信息。Oauth 2.0無法從signed_request的「代碼」值中獲取訪問令牌
我在獲取訪問令牌以從Graph中獲取此數據時遇到問題。
一個問題可能是,JS SDK對話框不會將我重定向到它應該的URL,即它的代碼= XXXXXXX,然後我可以使用它來獲取訪問令牌。
所以我看了php的SDK(我使用ASP),看看它是如何做到的。我已經解析了cookie中的signed-request值,並將'code'參數中的值添加到了令牌URL中,但我無法獲取訪問令牌。這是我使用的值:
解析的signed_request數據:
{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"}
Token URL: https://graph.facebook.com/oauth/access_token?
client_id=XXXXXXXX&
redirect_uri=XXXXXXXX&
client_secret=XXXXXX&
code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc
這是響應:
{"error":{"message":"Error validating verification code.","type":"OAuthException"}}
是否碼值似乎是正確的格式?任何想法,以什麼是錯的?
在'client_secret = XXXXXX'後不要忘記'&'? – dmirkitanov 2011-12-15 14:22:14
對不起,這是一個格式問題。我的代碼中有&符號。我會修改。 – DAC84 2011-12-15 14:43:55