Localhost Firebase Cloud Functions 正在与模拟器一起使用,但不是实时的

Localhost Firebase Cloud Functions are working with the emulator but not live

我有一个 Firebase 应用,其中实施了 App Check 调试令牌。

当我 运行 我的 Cloud Functions 使用模拟器时,它们工作正常。

但是当我关闭模拟器并尝试从 http://localhost:8080/ 访问实时部署的版本时,我得到了这个控制台错误:

POST http://localhost:5001/my-app/us-central1/getZohoDeskTicketsLoggedInUser net::ERR_CONNECTION_REFUSED

为什么在调用live版本而不是模拟器时会出现这种情况?

没有可提供的 Firebase Cloud Function 日志,因为这些函数甚至都不会触发。

也许我需要在某处将 locahost 域列入白名单?

当您将 Web 应用程序部署到生产环境时,您应该使用 URL 的已部署云函数来发出 API 请求,而不是 localhost,这会导致连接错误。您还可以仅在本地主机上调用 connectFunctionsEmulator:

if (window.location.hostname === "localhost") {
  connectFunctionsEmulator(...)
}