开始这里是我正在使用的: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登录的呢?
任何想法?谢谢!
答案 0 :(得分:0)
据我所知,facebook阻止那里的网站显示在iframe中,但我不明白我是如何在iframe中使用Facebook PHP SDK登录的呢?
您需要在顶部窗口实例中打开登录对话框。
target="_top"
如果您使用链接来触发登录,请转发
如果您使用JavaScript重定向,请top.location.href="…"
。
或者,您嵌入了JS SDK,并使用FB.login
- 这可以带来更好的用户体验,因为它不需要从当前的Facebook页面重定向,而是会显示登录对话框覆盖。