web-dev-qa-db-fra.com

Pourquoi le dernier serveur Firebase ne peut-il plus charger les informations d'identification par défaut

Je suis actuellement ce tutoriel sur youtube et à environ 26 minutes, l'auteur exécute ses fonctions localement avec le firebase serve commande.

Cela fonctionne bien pour lui, mais dès que j'essaie de le faire, j'obtiens l'erreur suivante:

Error: Could not load the default credentials. Browse to
https://cloud.google.com/docs/authentication/getting-started for more
information.
at GoogleAuth.getApplicationDefaultAsync (D:\\...\functions\node_modules\google-auth-library\build\src\auth\googleauth.js:161:19)
at process._tickCallback (internal/process/next_tick.js:68:7)

Maintenant, l'erreur me donne un lien qui m'aide à résoudre cette erreur, en définissant une variable d'environnement dans mes fenêtres (ce que je n'aime pas, car cela et comment cela fonctionnera-t-il lorsque je développerai dans différents projets liés à différents comptes Gmail?)

Une autre solution que j'ai trouvée, mais pas encore testée, est de s'authentifier localement avec une commande gcloud gcloud auth application-default login.

Aucune de ces étapes n'est effectuée par l'auteur dans le didacticiel.

J'ai cherché dans les commentaires de la vidéo et quelqu'un a mentionné que cela avait à voir avec les versions des outils Firebase. Sa solution était de revenir à la version 6.8.0 de firebase-tools alors que la dernière version actuelle est la 7.2.2.

Je me demande donc, ce qui a changé le fait que Firebase serve avec firebase-tools 7.2.2 ne peut plus exécuter une fonction cloud lorsque la fonction cloud essaie de stocker quelque chose dans une base de données firestore distante alors que cela fonctionnait avec firebase-tools 6.8. 0?

Et cela fonctionnera-t-il jamais avec la version 7.2.2 ou supérieure comme il le faisait avec la version 6.8.0?

6
Cornelis

Pensez à définir la variable d'environnement pour fournir les informations d'identification nécessaires.

La définition de la variable d'environnement vous permet de fournir des informations d'identification séparément de votre application, sans apporter de modifications au code d'application lors du déploiement.

Il n'est pas dit que la variable d'environnement est permanente, vous pourrez donc les remplacer ou les modifier par la suite.

0
Kevin Quinzel