2016-04-01 54 views
0

我想作爲描述的實施手動Facebook登錄流程:Facebook登錄重定向:不完整的URL

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow

,其中在用戶登錄和授權應用程序步驟都好。當Facebook重定向到我的服務時(成功登錄後),問題就開始了;我可以在瀏覽器的地址欄像看到:

http://some.local.domain:8080/1/share/fb_login_redirect?#access_token=XXYYZZ&expires_in=6285 

但奇怪的是我的web服務只能「看見」:「?」

http://some.local.domain:8080/1/share/fb_login_redirect 

我認爲這是剛剛經過「#」符號引起。因此我無法通過查詢字符串獲得access_token

我的web服務是一個Python WSGI應用程序。我已經用gunicornwsgiref.simple_server進行了測試。我已經調試了WSGI環境字典,並且發現部分URL正在被傳遞(而不是帶有查詢參數的完整URL)。所以當瀏覽器向WSGI環境傳遞請求信息時,這似乎是個問題。順便說一句,我已經在Chrome和Firefox上測試過;我正在使用MacOS X 10.10.5。

我將不勝感激任何幫助。

謝謝。

+1

URL的哈希部分是純粹的客戶端構造,它永遠不會發送到服務器。您需要捕獲訪問令牌客戶端(JavaScript),或者在登錄對話框調用中選擇「response_type:code」。 – CBroe

+0

您應該提交作爲答案,@CBroe –

回答

0

URL的哈希部分是純粹的客戶端構造,它永遠不會發送到服務器。

您需要捕獲訪問令牌客戶端(JavaScript),或者在登錄對話框調用中選擇response_type: code

+0

謝謝,@CBroe解決了它。 :) – joarleymoraes