我想作爲描述的實施手動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應用程序。我已經用gunicorn
和wsgiref.simple_server
進行了測試。我已經調試了WSGI環境字典,並且發現部分URL正在被傳遞(而不是帶有查詢參數的完整URL)。所以當瀏覽器向WSGI環境傳遞請求信息時,這似乎是個問題。順便說一句,我已經在Chrome和Firefox上測試過;我正在使用MacOS X 10.10.5。
我將不勝感激任何幫助。
謝謝。
URL的哈希部分是純粹的客戶端構造,它永遠不會發送到服務器。您需要捕獲訪問令牌客戶端(JavaScript),或者在登錄對話框調用中選擇「response_type:code」。 – CBroe
您應該提交作爲答案,@CBroe –