【发布时间】:2012-03-28 07:12:01
【问题描述】:
我正在使用服务器端 Facebook 身份验证。因此,首先,应用程序将客户端重定向到https://www.facebook.com/dialog/oauth?...URL,并且在此 URL 中有字符串“display=popup”作为参数,但是当应用程序重定向客户端时,对话框显示为页面,所以没有打开任何窗口。
【问题讨论】:
标签: facebook authentication oauth dialog popup
我正在使用服务器端 Facebook 身份验证。因此,首先,应用程序将客户端重定向到https://www.facebook.com/dialog/oauth?...URL,并且在此 URL 中有字符串“display=popup”作为参数,但是当应用程序重定向客户端时,对话框显示为页面,所以没有打开任何窗口。
【问题讨论】:
标签: facebook authentication oauth dialog popup
服务器端只能重定向到URL;它无法告诉客户端在哪个窗口中打开/显示 URL。
Facebook 的客户端身份验证负责在弹出窗口中显示 OAuth 对话框。如果您必须使用服务器端身份验证,则需要自己在弹出窗口中打开 URL:
window.open('URL_THAT_REDIRECTS_TO_OAUTH_DIALOG', ...)
但是您还需要自己设置窗口尺寸(宽度/高度)(通过在window.open() 中指定它们)。
【讨论】:
前面的答案是正确的。虽然记得使用 '_blank' 来弹出一个实际的弹出窗口:
window.open('/fblogin', '_blank','location=yes, scrollbars=yes, width=640, height=359', true);
这些也是当前 OAuth 登录窗口的大小。
【讨论】: