【发布时间】:2017-08-23 18:23:42
【问题描述】:
当计算机位于公司代理后面时,如何在 NodeJS 上运行 Firebase 管理员?
npm 已经配置代理和 https-proxy。 npm 命令执行正常。
但 Firebase 会尝试直接访问互联网:
错误:通过“credential”属性提供给 initializeApp() 的凭据实现未能获取有效的 Google OAuth2 访问令牌,并出现以下错误:“connect ETIMEDOUT 216.58.203.45:443”。
我尝试更新firebase-admin下的faye-websocket\lib\faye\websocket\client.js来读取
var Client = function(_url, protocols, options) {
options = options || {};
options.proxy = {
origin: 'http://proxy.server.local:8080'
};
我尝试了几种变体,但 nodejs 仍在尝试直接访问 216.58.203.45:443。我还应该更新什么才能使其正常工作?
【问题讨论】:
-
您收到的错误不是来自实时数据库,而是来自 Google 端点 (
https://accounts.google.com/o/oauth2/token),用于将您的服务帐户生成的 JWT 交换为 Google OAuth2 访问令牌。您可能需要将该端点列入白名单。 -
感谢您的回复。我可以从浏览器访问 URL,其他与 google auth 相关的 URL 可以在浏览器中正常工作。是的,你是对的,这是关于令牌刷新的。它没有正确通过代理,但我不知道如何强制它。
-
抱歉,我不太了解如何绕过代理。您可能需要与运行您的公司代理的人交谈。
标签: node.js firebase proxy admin firebase-admin