无法从Node JS服务器连接到Firebase管理员

时间:2020-05-04 15:20:39

标签: node.js firebase-admin

正在尝试通过nodejs服务器验证令牌。我用下面的代码。

var admin = require('firebase-admin');
var serviceAccount = require('path/to/serviceConfig.json');
    admin.initializeApp({
    projectId: "projectid",
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "databaseurl"
  });
 admin.auth().verifyIdToken(token)
        .then(function(decodedToken) {
        console.log("DecodedToken"+ decodedToken);
})

我收到以下错误。

FirebaseAppError: Error while making request: getaddrinfo ENOTFOUND www.googleapis.com. Error code: ENOTFOUND
    at FirebaseAppError.FirebaseError [as constructor] (C:\Programs\Studies\auth-service-master\node_modules\firebase-admin\lib\utils\error.js:42:28)
    at FirebaseAppError.PrefixedFirebaseError [as constructor] (C:\Programs\Studies\auth-service-master\node_modules\firebase-admin\lib\utils\error.js:88:28)
    at new FirebaseAppError (C:\Programs\Studies\auth-service-master\node_modules\firebase-admin\lib\utils\error.js:123:28)
    at C:\Programs\Studies\auth-service-master\node_modules\firebase-admin\lib\utils\api-request.js:209:19
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  errorInfo: {
    code: 'app/network-error',
    message: 'Error while making request: getaddrinfo ENOTFOUND www.googleapis.com. Error code: ENOTFOUND'
  },
  codePrefix: 'app'
}

我正在使用免费的火花计划。不知道这里是什么问题。...

1 个答案:

答案 0 :(得分:0)

您需要通过httpAgent指定代理设置。参见https://firebase.google.com/docs/reference/admin/node/admin.AppOptions#httpagent

您可以在此处找到使用https-proxy-agent包的代码示例:https://medium.com/faun/firebase-accessing-firestore-and-firebase-through-a-proxy-server-c6c6029cddb1