Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook oauth没有';不要重定向到Facebook iframe_Facebook_Oauth_Oauth 2.0 - Fatal编程技术网

Facebook oauth没有';不要重定向到Facebook iframe

Facebook oauth没有';不要重定向到Facebook iframe,facebook,oauth,oauth-2.0,Facebook,Oauth,Oauth 2.0,在使用iframe canvas方法实现Facebook应用程序时,我遇到了一个奇怪的问题 到目前为止,我一直在学习教程,它的效果非常好 我将身份验证发送到的页面是(如教程所述): https://www.facebook.com/dialog/oauth?client_id=138548612888445&redirect_uri=http://localhost:8080/test/facebook/return.jsf 但是,当我接受应用程序并允许它访问我的个人数据时,我将被直接重定向到返

在使用iframe canvas方法实现Facebook应用程序时,我遇到了一个奇怪的问题

到目前为止,我一直在学习教程,它的效果非常好

我将身份验证发送到的页面是(如教程所述):

https://www.facebook.com/dialog/oauth?client_id=138548612888445&redirect_uri=http://localhost:8080/test/facebook/return.jsf

但是,当我接受应用程序并允许它访问我的个人数据时,我将被直接重定向到返回页面,作为最顶端的URL,该URL如下所示:

+--------------------------------------------------+
|  My Content                                      |
|  http://localhost:8080/test/facebook/return.jsf  |
|  ?code=...
+--------------------------------------------------+
但是,我不希望我的URL显示在最上面的框架中,而是显示在默认的facebook框架中:

+-------------------------------------------+
| Facebook header                           |
+--------------------------+----------------+
| My Content               | Facebook right |
|                          | column         |
+--------------------------+----------------+
奇怪的是:只有当用户第一次需要授权应用程序时才会发生这种情况——之后,当我调用
apps.facebook.com/fooapp
时,内容才会正确显示在iframe中


我做错了什么?

将你的facebook应用程序url设置为重定向uri。或者,在return.jsf中执行您需要执行的任何操作,然后将用户转发到您的facebook应用程序url。

如果您使用:

 <script> top.location.href='$url'</script> 
top.location.href='$url'
和我一样,您需要将
top.location.href
更改为
self.location.href