firebase / firebase/firebase-admin-node

[FR] Connect admin-sdk inside functions emulator to multiple different Firebase Projects Emulator instances (Auth,Firestore,..)

Abierto
#2,226 1 comentario 0 reacciones 0 asignados Ver en GitHub
type: feature request
Lenguaje dominante
TypeScript
Estrellas
1.7k
Forks
419
Merge medio
3 d 10 h
PR fusionados (30 d)
16

Descripción

- I have multiple Firebase Projects
- One should be a central "Auth-Provider-Project" which creates custom auth tokens in Firebase Functions for multiple different Firebase Projects

Usually i can initialize multiple different admin apps like so:

```
const authProviderProject = admin.initializeApp(
{ credential: admin.credential.cert(authProviderProjectCred), },
"appOne"
);

const appTwo = admin.initializeApp(
{ credential: admin.credential.cert(appTwoCred), },
"appTwo"
);
```
In this way my locally run admin-sdk (inside the functions emulator) connects to the remote Firebase projects.
The problem now occurs when I also want to emulate Auth, and Firestores locally in the dev/emulator environment. I have to run another set of emulators for each project (next to the authProviderProject which owns the functions using the admin-sdk), but now i can't link my Auth Project Emulators and therefore cant initialize the admin-sdk-apps for my other Projects.
I believe this might be because my functions emulator sets this ENV_VAR:
`export FIREBASE_AUTH_EMULATOR_HOST="127.0.0.1:9099"
`
So i guess i would need a way to point different app initializations to different emulator ports?

I have also tried to initialize the app with the 'projectId' field, but this didn't connect to the correct emulator running on a different port than stated in the FIREBASE_AUTH_EMULATOR_HOST variable.
```
const appTwo = admin.initializeApp(
{ credential: admin.credential.cert(appTwoCred), projectId: "firebaseProjectTwoId" },

"appTwo"
);
```
like stated [here](https://firebase.google.com/docs/emulator-suite/connect_auth#admin_sdks)

Is there a way I can connect multiple locally run emulator suites (multiple Firebase Projects) to the same locally run functions emulator?

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.