"authenticate with facebook" 是否需要 facebook 服务器将数据直接发送到我的服务器?

Does "authenticate with facebook" require a facebook-server to send data directly to my server?

我正在我的开发服务器上为网站构建一个 "authenticate with facebook" 或 "login with facebook" 函数。 开发服务器是我计算机上的 VM 运行。 我已经设置了自己的 DNS 服务器,以便我可以通过以下方式访问该网站:anydomainname.de - 这当然只对我有效(不适用于任何外部服务器)。

我能在这种环境下test/develop"authenticate with facebook"吗?

Will i be able to test/develop the "authenticate with facebook" in this environment?

是的,那应该没问题。 (我自己已经做过很多次了。)

无论如何,大部分登录流程都发生在您的浏览器中。当涉及到将您从 Facebook 收到的 code 参数交换为令牌的部分时,这需要您的服务器向 Facebook 发出请求,而不是相反。

只有需要 Facebook 服务器向您的服务器发出请求的功能,您才不会以这种方式进行测试,f.e。任何类型的 Open Graph 实现,您自己托管 OG 对象 – 这需要 FB 抓取工具从对象 URL 读取元数据,因此 public 可以访问它。

(关于登录只有一项功能,称为“取消授权回调URL”,您将无法测试。如果您设置了该功能,Facebook 会在用户取消授权时通知您- 授权您的应用程序 [将其从他们的设置中完全删除] – 这是通过 Facebook 向您的服务器发送请求来完成的。但这是一种“高级”功能,无论如何都没有广泛使用。如果您稍后决定它会也很高兴实现它,您需要在 public 可用的系统上对其进行测试。)