2012-04-29 104 views
4

我已为我的画布应用实施了取消授权回叫。看起来Facebook无法通过https ping通Deauthorize Callback,但它对http没有任何问题。我正在记录所有连接,并且没有ping来自Facebook的回调的记录,但是如果我自己ping它,它就会被记录下来。此外,如果我有Facebook通过URL调试工具(https://developers.facebook.com/tools/debug)ping回调,它是成功的。Facebook取消授权通过HTTPS回拨

鉴于https不起作用,我假设Facebook的服务器不关心我的证书的颁发者/权限。是否有明确的证书颁发机构名单,将与Facebook的后端流程配合使用?或者,有没有办法向Facebook提交新的权限,以便将其纳入他们接受的证书颁发机构的列表中?

编辑:我的SSL证书由“Starfield Technologies”发布,我相信它是GoDaddy的简单DBA。我通常会避免GoDaddy,但这个SSL很便宜。也许我得到了我已经付出的东西,就像那样。

+1

要确保这是证书的问题,您可以简单地将位于您的域的任何OpenGraph对象的“HTTPS”链接传递给[URL Linter](http://developers.facebook.com/tools/debug)。或者订阅实时更新只是为了检查是否已达到回拨......如果这是证书文件问题,则表示存在错误。 – 2012-04-29 05:50:33

+2

我同意Juicy。如果实时可以访问https而不是deauth回调,那么请向Facebook发送一个错误。在这里报告,让其他谁偶然发现这个stackoverflow问题知道这是一个记录的错误。 FWIW,我认为这不是证书的问题,否则没有人能够获得HTTPS。 – DMCS 2012-05-01 21:30:27

+0

我目前在我的域中没有任何OpenGraph对象,但是如果我将deauth回调链接传递给URL Linter(如上所述),则它可以访问链接并显示输出,并指出它无法访问一个OpenGraph对象。显然,我的日志显示了当时在Facebook上的访问。 由于这个原因,我认为无论后端服务器ping什么样的deauth回调,问题都存在。我已经充分解决了这个问题,只需将我的deauth回调函数作为HTTP链接与HTTPS进行比较。我会看到关于报告的信息(如果我能找到一种实际上由人类监控的报告方法)。 – CasaDeRobison 2012-05-07 00:40:31

回答

3

我终于明白了这个问题是什么,并且想要记录下来,以便其他人可以从我的愚蠢中受益。

我的能力是软件开发。我不是一个熟练的网站管理员。我知道就够了。问题是由于我的Web服务器的SSL配置。

两年前我买了我的证书时,我没有完全安装它。我为我的域创建并安装了PEM文件,但从未配置Web服务器以了解证书权限包(在我的案例中为sf_bundle.crt)。

这样做的直接后果是,如果您从Web浏览器访问安全deauth回调,并且您的Web浏览器配置了所有需要的根证书和中间证书,那么您将成功“取消”应用程序。但是,如果一个Web客户端(例如ping你deauth回调的Facebook后端计算机)尝试访问有问题的Web服务器,并且它尚未具有所有可用的中间证书,则SSL握手将失败,因为客户端无法将证书一直认证回根CA证书。

我希望这是有道理的。正如我所说,网络管理不是我的强项,我错过了一步。如果您正确地在您的Web服务器配置中安装了CA软件包,Facebook后端计算机将能够验证您的站点并成功地ping您的deauth回调。

如果这里有什么不清楚的地方,请不要犹豫,问问。如果可以的话,我会帮忙的。