在页面选项卡中登录Facebook PHP SDK



首先,我使用的是:Codeigniter 3和darkswering/facebook-sdk-Codeigniter,这是一个用于Codeigniter的facebook-sdk库。

为了在我的应用程序上使用facebook登录,我生成了一个登录url,并在该url上重定向用户。它在本地和我的网站上都很好用。

问题是当一个使用以下网址在facebook选项卡上添加我的应用程序时:

https://www.facebook.com/dialog/pagetab?app_id=myid&重定向uri=https://myurl.url/

我在页面选项卡上看到我的应用程序,但当我试图点击iframe内的登录url时,我会看到一个空白页面,javascript控制台上有以下消息:

X-Frame-Options拒绝加载:https://www.facebook.com/v2.6/dialog/oauth?client_id=xxxxxxx&state=xxxxxxxx&response_type=代码&sdk=php-sdk-54.4.4&重定向uri=https://myurl.url/&scope=电子邮件不允许框架。

我知道facebook阻止了网站在iframe中显示,但我不明白我是如何使用iframe内的facebook PHP SDK登录的?

有什么想法吗?谢谢

我知道facebook阻止了网站在iframe中显示,但我不明白我是如何使用iframe内的facebook PHP SDK登录的?

您需要在顶部窗口实例中打开登录对话框。

target="_top"如果您使用链接触发登录,请分别
top.location.href="…"(如果使用JavaScript重定向)。

或者,嵌入JS SDK,并使用FB.login,这会带来更好的用户体验,因为它不需要重定向到当前Facebook页面之外,而是会在覆盖中显示登录对话框。

最新更新