Skip to content

HttpAgent can not work when serviceAccountPathOrObject parameter is a object in admin.credential.cert() #2960

Description

@FTD-YI

Problem

When calling admin.credential.cert(), and the serviceAccountPathOrObject parameter is a object, not a file path, the http proxy agent can not work.

Environment

  • Operating System version: Red Hat Enterprice Linux 8.10
  • Firebase SDK version: 13.4.0
  • Firebase Product: message
  • Node.js version: 22.11.0
  • NPM version: 10.9.0

Steps to reproduce:

#### Relevant Code:
import * as admin from "firebase-admin";
import {readFilesync }from "fs";
import * as https from "https",
const serviceAccount = JSON.parse(readFilesync("./serviceAccount.json", "utf8"))
const proxyAgent = new https.Agent({
host:"xxx",
port: 8080,
keepAlive: true,
rejectUnauthorized: false,
});
const client= admin.initializeApp({
credential:admin.credential.cert(
{
clientEmail: serviceAccount.client_email,
privatekey: serviceAccount.private_key,
projectId: serviceAccount.project_id,
},// when serviceAccount is a object, it will raise the "app/invalid-credential" error
// "./serviceAccount.json", when serviceAccount is a file path, can work
proxyAgent
),
httpAgent: proxyAgent, });

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions