Facebook oauth没有';不要重定向到Facebook iframe
在使用iframe canvas方法实现Facebook应用程序时,我遇到了一个奇怪的问题 到目前为止,我一直在学习教程,它的效果非常好 我将身份验证发送到的页面是(如教程所述):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 但是,当我接受应用程序并允许它访问我的个人数据时,我将被直接重定向到返
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