我已经为我的canvas应用程序实现了一个解除授权回调。Facebook似乎无法通过https ping解除授权回调,但它在http上没有问题。我正在记录所有连接,并且没有从Facebook ping回调的记录,尽管如果我自己ping它,它会被记录下来。此外,如果我让Facebook通过URL debugging tool (https://developers.facebook.com/tools/debug) ping回调,它是成功的。
鉴于https不起作用,我假设Facebook的服务器并不关心我的证书的颁发者/授权机构。是否有一个与Facebook的后端进程一起工作的证书颁发机构的明确列表?或者,有没有办法向Facebook提交一个新的授权机构,以便包含在他们接受的证书授权机构列表中?
编辑:我的SSL证书是由"Starfield Technologies“颁发的,我相信它是一个简单的GoDaddy数据库管理员。我通常避免使用GoDaddy,但是这个SSL太便宜了。也许我得到了我所付出的,可以说是。
发布于 2013-11-17 05:58:27
我最终找出了问题所在,并想将其记录下来,以便其他人可以从我的愚蠢中受益。
我的能力是在软件开发方面。我不是一个熟练的网站管理员。我知道的只够糊口了。这个问题是由于我的web服务器的SSL配置引起的。
当我在两年前购买我的证书时,我没有完整地安装它。我为我的域创建并安装了一个PEM文件,但从未将web服务器配置为了解证书颁发机构捆绑包(在我的示例中为sf_bundle.crt)。
这样做的直接后果是,如果您从web浏览器访问安全的deauth回调,并且您的web浏览器配置了所有所需的根证书和中间证书,则您将成功地对应用程序进行"deauth“。
但是,如果web客户端(例如ping您的deauth回调的Facebook后端计算机)尝试访问有问题的web服务器,并且它尚未拥有所有可用的中间证书,则SSL握手将失败,因为客户端无法一直验证证书返回到根CA证书。
我希望这是有意义的。正如我所说的,web管理不是我的强项,我漏掉了一步。如果您在web服务器配置中正确安装了CA包,Facebook后端计算机将能够验证您的站点并成功ping通您的deauth回调。
如果这里有什么不清楚的地方,请不要犹豫,尽管问。我会尽我所能帮你的。
https://stackoverflow.com/questions/10369169
复制相似问题