【发布时间】:2017-01-18 06:44:26
【问题描述】:
目前,我正在使用 Firebase Admin SDK 在 NodeJS 服务器端应用程序中连接 Firebase 数据库。
但我没有找到通过代理设置连接 Firebase 的选项,或者它可以检测到我的系统 HTTP_PROXY 环境变量。
当我通过node index.js 运行节点脚本时,收到一些类似这样的超时消息(我知道在我的工作网络中,我无法直接连接到 Firebase)。
Error: Credential implementation provided to initializeApp() via the "credential
" property failed to fetch a valid Google OAuth2 access token with the following
error: "connect ETIMEDOUT 216.58.200.237:443".
at ....erver\node_modules\firebase-adm
in\lib\firebase-app.js:74:23
at process._tickCallback (internal/process/next_tick.js:103:7)
我还使用浏览器通过代理访问 Firebase 控制台,它可以工作。
但是如何在 NodeJS 服务器端脚本中解决这个问题?
【问题讨论】:
-
Admin Node.js SDK 似乎未正确初始化。你能分享你的初始化代码(
admin.initializeApp())吗?您的代理设置可能会阻止 SDK 请求创建与 Firebase 服务通信所需的 Google OAuth2 访问令牌。该请求发送到https://www.accounts.google.com/o/oauth2/token端口 443。我会检查以确保您的代理设置没有阻止这些请求。 -
我已经在不同的环境中尝试了我的代码,如果网络可以连接到 Firebase/Google,它就可以工作。
-
我在代理后面,无法初始化 firebase,有什么帮助吗?
标签: node.js firebase proxy firebase-realtime-database firebase-admin