Facebook Iframe应用程序 - 奇怪的重定向问题

时间:2010-08-09 09:42:55

标签: authentication facebook iframe

当我在Facebook iframe应用程序中进行服务器端重定向时,我会通过链接获得这个奇怪的Facebook徽标。当我点击它时,我被重定向到网站我首先设置重定向。这里发生了什么?是否有“点击保护”?

谢谢!

重定向代码:
尝试客户端重定向

    args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=base_dir , scope='user_photos,email,offline_access')
    return render_to_response('fb/nopermission.html', { 'javascript': "<script>window.top.location=\"" + "https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args )+ "\"</script>"  } )

服务器重定向:

args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=base_dir , scope='user_photos,email,offline_access')
return HttpResponseRedirect(https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args))

两种情况都有相同的结果

alt text

2 个答案:

答案 0 :(得分:0)

Arrgh! Facebook有这么糟糕的文档,我在为它开发时遇到了很多问题。

这是因为您无法直接使用您的应用重定向。使用href链接并将目标属性指定为_top或使用javascript

window.top.location="redirecturl"

解决此错误。

答案 1 :(得分:0)

对于重定向目的,请使用以下代码:

<html><head>
<script type="text/javascript">
  window.top.location.href = "<?php echo $loginUrl; ?>";
</script>
<noscript>
  <meta http-equiv="refresh" content="0;url=<?php echo $loginUrl; ?>" />
  <meta http-equiv="window-target" content="_top" />
</noscript>