Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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登录页面?_Facebook_Facebook Canvas - Fatal编程技术网

如何将用户从画布中重定向到Facebook登录页面?

如何将用户从画布中重定向到Facebook登录页面?,facebook,facebook-canvas,Facebook,Facebook Canvas,可能重复: 当用户未登录facebook但直接访问canvas URL时,应用程序将以注销状态显示,因为没有向其发送访问令牌(或已签名的请求) 但是,由于应用程序是框架式的,并且我没有使用Javascript SDK(使用Perl OAuth模块),我如何告诉Facebook跳转到登录页面而不是加载注销的canvas应用程序页面呢?既然您拥有到iframe的代码,那么您应该使用代码进行重定向。Facebook只加载你在应用程序设置中设置的URL。对于应用程序设置,没有用于登录的url和用于注销

可能重复:

当用户未登录facebook但直接访问canvas URL时,应用程序将以注销状态显示,因为没有向其发送访问令牌(或已签名的请求)


但是,由于应用程序是框架式的,并且我没有使用Javascript SDK(使用Perl OAuth模块),我如何告诉Facebook跳转到登录页面而不是加载注销的canvas应用程序页面呢?

既然您拥有到iframe的代码,那么您应该使用代码进行重定向。Facebook只加载你在应用程序设置中设置的URL。对于应用程序设置,没有用于登录的url和用于注销的url

我在尝试将用户重定向到PayPal付款时遇到了同样的问题

您试图解释的问题是:

  • 不允许Facebook画布应用访问父窗口
  • 画布应用程序只能重定向到设置(
    https://developers.facebook.com/apps//summary
完成身份验证的唯一方法是:

  • 使用JavaScript SDK弹出一个身份验证窗口,或
  • 使用JavaScript重定向到Facebook oauth页面(
    top.location=”“

但是我无法从iframe中在服务器端重定向,您是否建议我使用Javascript?为什么不能使用服务器端代码重定向?你的代码不是在控制你发送给客户端的内容吗?是的,但是最终结果不是仍然是Javascript吗?当我说我不能在服务器端这样做时,我的意思是通过头重定向——因为应用程序包含在iframe中。你明白我的意思吗,兄弟?当用户登陆你的页面时,你正在解码服务器在HTTP Post参数中接收到的
signed_请求
,以确定它们是否登录,对吗?当然可以。我使用生产代码来实现这一点。C#代码是:
Response.Write(“top.location.href='URL HERE';”;Response.End()