firebase / firebase/firebase-admin-node

auth.createCustomToken: Failed to determine service account. Make sure to initialize the SDK with a service account

Abierto
#2,925 6 comentarios 1 reacción 1 asignado Reclamado por @lahirumaramba Ver en GitHub
api: core
Lenguaje dominante
TypeScript
Estrellas
1.7k
Forks
419
Merge medio
3 d 10 h
PR fusionados (30 d)
16

Descripción

### [READ] Step 1: Are you in the right place?

* For issues related to __the code in this repository__ file a Github issue.
* If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
template.
* For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
with the firebase tag.
* For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
google group.
* For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
[Firebase support channel](https://firebase.google.com/support/).

### [REQUIRED] Step 2: Describe your environment

* Operating System version: Windows 11 24H2
* Firebase SDK version: 13.4.0
* Firebase Product: Firestore
* Node.js version: 21.6.1
* NPM version: 10.2.4

### [REQUIRED] Step 3: Describe the problem

Basically duplicates [2800](https://github.com/firebase/firebase-admin-node/issues/2800)

#### Steps to reproduce:

Running Firebase Functions emulator on local environment
```typescript
import { initializeApp } from "firebase-admin/app"

initializeApp()
```

#### Relevant Code:

```typescript
const token = await auth.createCustomToken(uid, customClaims)
```

This throws

>Failed to determine service account. Make sure to initialize the SDK with a service account credential. Alternatively specify a service account with iam.serviceAccounts.signBlob permission. Original error: Error: Error while making request: getaddrinfo ENOTFOUND metadata.

And I have to do
```typescript
export const json_path = 'LOCAL_PATH'

getApps().length === 0
? initializeApp({
credential: credential.cert(json_path!),
})
: getApp()
```
Which also does not work with ADC file, only with json downloaded from project settings in Firebase dashboard. If I put ADC file path in the snippet above, it complains about project_id field missing. It definitely worked with simply initializeApp() before upgrading to v13.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.