无法在 iFrame 中在 Facebook 上进行身份验证
我在使用 Facebook SDK 时遇到了一些问题。我有一个网站 http://incampus.ro,它主要与 iframe 一起使用(处于早期开发阶段) )。如果我想在 iframe 中调用 Facebook 身份验证,我会得到一个 Facebook 徽标,单击它后,我会以全屏格式重定向到 Facebook 身份验证页面。我真的不想那样。我该如何解决这个问题?
我忘了提及:如果我将 iframe 中的 URL 调用到新选项卡中,则一切正常。
I have a little bit of a problem with the Facebook SDK. I have a web site, http://incampus.ro, and it is working with iframes mostly (is in early development stage). If I want to call a Facebook authentication into the iframe, I get a Facebook logo and after I click it I'm redirected to a Facebook authentication page, in full screen format. I don't really want that. How do I fix this problem?
I forgot to mention: If I call the URL from an iframe into a new tab everything is working OK.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Facebook
不允许您将其加载到 IFrame 中,以防止ClickJacking 攻击。Facebook
doesn't allow you to load it in an IFrame to prevent ClickJacking attacks.Facebook 阻止您通过 iframe(或任何框架)直接链接到实际网站。这是因为任何将 Facebook 放入 iframe(或任何框架)的网站都可以使用 JavaScript 访问 Facebook 页面的元素,包括用户名和密码字段。
这是没有办法解决的。它内置于浏览器本身中,用于在请求标头中发送一些信息,表明正在请求将其放入框架中。
Gmail 和其他几个网站也这样做。
基本上。你不能陷害 Facebook。
Facebook prevents you from linking directly to the actual site via an iframe (or any frame). This is because any site putting Facebook in an iframe (or any frame) could use JavaScript to access elements of the Facebook page, including the username and password fields.
There is no way around this. It is built in to the browsers themselves to send some information along in the request header that says it is being requested to be put in frame.
Gmail and several other sites do this as well.
Basically. You can not frame Facebook.