Facebook PHP SDK登录页面选项卡

时间:2017-02-12 13:24:24

标签: php facebook codeigniter api facebook-graph-api

开始这里是我正在使用的:Codeigniter 3和darkwhispering / facebook-sdk-codeigniter谁是用于codeigniter的facebook sdk库。

要在我的应用上使用facebook登录,我会生成一个登录网址,并在此网址上重定向用户。它在本地和我的网站上都可以正常工作。

问题是当使用此网址在Facebook标签上添加我的应用时:

  

https://www.facebook.com/dialog/pagetab?app_id=myid&redirect_uri=https://myurl.url/

我在页面标签上看到了我的应用,但是当我尝试点击iframe中的登录网址时,我得到一个空白页面,并且在javascript控制台上有此消息:

  

X-Frame-Options拒绝加载:https://www.facebook.com/v2.6/dialog/oauth?client_id=xxxxxxx&state=xxxxxxxx&response_type=code&sdk=php-sdk-5.4.4&redirect_uri=https://myurl.url/&scope=email不允许框架。

据我所知,facebook阻止那里的网站显示在iframe中,但我不明白我是如何在iframe中使用Facebook PHP SDK登录的呢?

任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

  

据我所知,facebook阻止那里的网站显示在iframe中,但我不明白我是如何在iframe中使用Facebook PHP SDK登录的呢?

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

target="_top"如果您使用链接来触发登录,请转发 如果您使用JavaScript重定向,请top.location.href="…"

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