虽然https是在应用程序设置中配置的,但Facebook使用http协议打开我的应用程序

时间:2012-11-14 08:15:12

标签: facebook http https

我创建了一个在必须通过https访问的服务器上运行的Facebook应用。否则它将重定向到https并且signed_request将丢失。

在应用设置中,我可以编辑的所有网址都使用https协议。没有以http://开头的网址(没有s) - 除了画布页面网址,我无法更改该值(它是http://facebook.com/myappname)。

但是当我打开一个以非安全模式(http)安装我的应用程序的Facebook页面时,Facebook会从配置的Facebook页面URL中删除“s”并调用http://myappdomain而不是{{1} }。

我的第一个问题: 有什么办法可以告诉facebook不要重写我配置的URL吗? (或者我在其他地方犯了错误)

我的第二个问题: 我想如果缺少signed_request我可以加载一个空页面并在其中放入一个javascript代码window.top.location = https://facebook.com/somewhere。但是,如果没有签名请求,我不知道这个“某个地方”。是否可以使用apaches mod rewrite将post参数作为get参数传递?

提供应用程序的http版本对我来说无法解决(客户要求)。

1 个答案:

答案 0 :(得分:1)

  

我想如果缺少signed_request我可以加载一个空页面并在其中放入一个javascript代码window.top.location = https://facebook.com/somewhere。但是,如果没有签名请求,我不知道这个“某个地方”。是否可以使用apaches mod rewrite将post参数作为get参数传递?

不是我现在......但为什么不通过HTTP服务那个小脚本呢?您可以访问其中的signed_request,找出您的HTTPS目标网址,然后通过JavaScript重定向。

  

提供应用程序的http版本对我来说无法解决(客户要求)。

这种重定向本身将通过HTTP提供 - 一旦客户端被重定向,就会使用HTTPS,如果你只显示你的“真实”应用程序,那么满足客户要求?