Facebook 登录重定向:不完整 url
Facebook login redirect: incomplete url
我正在尝试实施手动 Facebook 登录流程,如下所述:
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
用户登录授权应用这一步就OK了。当 Facebook 重定向到我的服务时(成功登录后),问题就开始了;我可以在浏览器的 URL 栏中看到如下内容:
http://some.local.domain:8080/1/share/fb_login_redirect?#access_token=XXYYZZ&expires_in=6285
但奇怪的是我的网络服务只有 "sees":
http://some.local.domain:8080/1/share/fb_login_redirect
我认为这是由“?”后面的“#”符号引起的。结果我无法通过查询字符串获得 access_token
。
我的网络服务是一个 Python WSGI 应用程序。我已经测试过使用 gunicorn
和 wsgiref.simple_server
来提供它。我已经调试了 WSGI 环境 dict,我发现部分 URL 正在被传递(不是带有查询参数的完整的)。因此,当浏览器将请求信息传递到 WSGI 环境时,这似乎是一个问题。顺便说一句,我已经在 Chrome 和 Firefox 上进行了测试;我正在使用 MacOS X 10.10.5 .
如有任何帮助,我将不胜感激。
谢谢。
URL 的散列部分是纯粹的客户端构造,它永远不会发送到服务器。
您需要在客户端捕获访问令牌 (JavaScript),或者在您的登录对话框调用中选择 response_type: code
。
我正在尝试实施手动 Facebook 登录流程,如下所述:
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
用户登录授权应用这一步就OK了。当 Facebook 重定向到我的服务时(成功登录后),问题就开始了;我可以在浏览器的 URL 栏中看到如下内容:
http://some.local.domain:8080/1/share/fb_login_redirect?#access_token=XXYYZZ&expires_in=6285
但奇怪的是我的网络服务只有 "sees":
http://some.local.domain:8080/1/share/fb_login_redirect
我认为这是由“?”后面的“#”符号引起的。结果我无法通过查询字符串获得 access_token
。
我的网络服务是一个 Python WSGI 应用程序。我已经测试过使用 gunicorn
和 wsgiref.simple_server
来提供它。我已经调试了 WSGI 环境 dict,我发现部分 URL 正在被传递(不是带有查询参数的完整的)。因此,当浏览器将请求信息传递到 WSGI 环境时,这似乎是一个问题。顺便说一句,我已经在 Chrome 和 Firefox 上进行了测试;我正在使用 MacOS X 10.10.5 .
如有任何帮助,我将不胜感激。
谢谢。
URL 的散列部分是纯粹的客户端构造,它永远不会发送到服务器。
您需要在客户端捕获访问令牌 (JavaScript),或者在您的登录对话框调用中选择 response_type: code
。