2016-04-01 30 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