firebase / firebase/firebase-admin-node

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

Offen
#2,925 6 Kommentare 1 Reaktion 1 zugewiesene Person Beansprucht von @lahirumaramba Auf GitHub ansehen
api: core
Vorherrschende Sprache
TypeScript
Sterne
1.7k
Forks
419
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
16

Beschreibung

### [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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.