点击iframe后,Facebook页面获得全屏显示

时间:2010-07-08 08:04:41

标签: facebook

我正在尝试在我的页面上创建的IFRAME中打开facebook身份验证页面 但问题是,一旦页面被加载到iframe中,我点击iframe,facebook身份验证页面将在整个屏幕中获取整个页面,iframe将消失。

https://graph.facebook.com/oauth/authorize?client_id=<id>&type=user_agent&redirect_uri=http://localhost:3662/test.web/pages/z.aspx&display=popup

这是我的网址,我在iframe src属性中设置

4 个答案:

答案 0 :(得分:2)

我自己就碰到了这个。我用过的解决方案?

Javascript Authentication

粗略的步骤

// trigger this any way you want
window.open(
    'https://graph.facebook.com/oauth/authorize?client_id=CLIENT_ID&display=popup&scope=PERM_LIST&redirect_url=http://example.com/oauth_redirect'
  , 'authorize'
  , 'width=600,height=350'
);

这会在弹出窗口中显示身份验证窗口。现在,下一步是您使用重定向网址(在我的示例中为http://example.com/oauth_redirect

URL中的access_token参数包含OAuth令牌 - 因此检索它并执行您需要的任何操作(存储在cookie中,无论如何)。然后使用JS来控制弹出窗口和开启器

的内容
<script type="text/javascript">

// Perhaps load the next page?
window.opener.location = 'http://example.com/canvas'

// close the popup
window.close();

</script>

同样请参阅this relevant forum thread

答案 1 :(得分:0)

不确定,但我认为“popup”外形适用于真正的弹出窗口,你应该尝试“页面”外形因素

答案 2 :(得分:0)

这是一种安全机制;用户几乎没有办法判断你的IFRAME是否真的是Facebook,或者你呈现的东西看起来像Facebook。在顶部有一个完整的URL,这变得更加透明(是的,他们应该使用有效的证书来实现SSL以真正证明这一点,但是嘿)。

答案 3 :(得分:0)

出于安全原因,不允许以iframe登录。请改用弹出窗口。您可以使用window.open建议Peter或使用JS SDK,例如:http://fbrell.com/auth/all-in-one