无法将 Facebook 实时更新网络钩子与自签名 SSL 证书结合使用



我正试图在本地机器上设置一个带有facebook实时更新webhook的callback_url。但是,它要求我使用SSL。对发展来说很烦人,但不管怎样。我设置了一个自签名证书,现在脸书抱怨道:

{
  "error": {
    "message": "(#2200) callback verification failed: SSL certificate problem: self signed certificate",
    "type": "OAuthException",
    "code": 2200,
    "fbtrace_id": "ak9ii3432"
  }
}

如果不支付可信SSL证书的费用并经历这些麻烦,就没有简单的方法在本地开发它吗?

所以我能够解决这个问题,但当我再次遇到这个问题时,我只是抽出时间来记录它(开始喜欢使用Facebook实时Webhook)。

解决方案是与Cloudflare协同使用No IP,为我的本地服务器提供SSL域的静态访问。

我在博客上写了一篇文章解释道:https://templeton.io/local-facebook-real-time-api/

简单的答案是否定的。您需要一个有效的SSL证书,而自签名证书是不起作用的。请考虑一下,即使是为了测试,Facebook也会将信息发送到外部服务器,因此Facebook需要自动验证该服务器。我知道这可能很烦人,但出于安全考虑是必要的。

请考虑使用heroku这样的服务,它提供了一个子域,其中有一个有效的SSL证书,您可以用于测试(如果您喜欢,甚至可以托管您的生产应用程序)

最新更新