我为我的画布应用程序实现了Deauthorize Callback。似乎Facebook无法通过https ping取消授权回拨,但它对http没有问题。我正在记录所有连接,并且没有记录从Facebook ping回调,但如果我自己ping它就会被记录。此外,如果我让Facebook通过URL调试工具(https://developers.facebook.com/tools/debug)ping回调,那么它就会成功。
鉴于https不起作用,我假设Facebook的服务器不关心我的证书的发行者/权限。是否有可与Facebook的后端流程配合使用的证书颁发机构的明确列表?或者,有没有办法向Facebook提交新的权限以包含在其接受的证书颁发机构列表中?
编辑:我的SSL证书是由“Starfield Technologies”发行的,我相信它是GoDaddy的简单DBA。我通常会避开GoDaddy,但这个SSL很便宜。也许我已经得到了我付出的代价。
答案 0 :(得分:3)
我终于弄清楚问题是什么,并想记录下来,以便其他人可以从我的愚蠢中受益。
我的能力在于软件开发。我不是一个熟练的网站管理员。我知道就够了。问题是由于我的Web服务器的SSL配置。
两年前我买证书时,我的安装不完整。我为我的域创建并安装了一个PEM文件,但从未配置Web服务器以了解证书颁发机构包(在我的情况下为sf_bundle.crt)。
这样做的直接后果是,如果您从Web浏览器访问安全deauth回调,并且您的Web浏览器配置了所有必需的根证书和中间证书,您将成功“deauth”该应用程序。
但是,如果一个Web客户端(例如ping你的deauth回调的Facebook后端计算机)试图访问有问题的Web服务器并且它还没有可用的所有中间证书,那么SSL握手将因为客户端而失败无法将证书一直验证回根CA证书。
我希望这是有道理的。正如我所说,网络管理不是我的强项,我错过了一步。如果您正确地在Web服务器配置中安装CA捆绑包,Facebook后端计算机将能够验证您的站点并成功ping您的deauth回调。
如果此处有任何不明之处,请随时提出。如果可以,我会帮忙。