Découvrez comment utiliser et gérer les clés API pour Firebase.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Une clé API est une chaîne unique utilisée pour acheminer les requêtes vers votre projet Firebase lorsque vous interagissez avec les services Firebase et Google. Cette page fournit des informations de base sur les clés API, ainsi que des bonnes pratiques pour les utiliser et les gérer avec les applications Firebase.
Informations générales sur les clés API et Firebase
Les clés API pour Firebase sont différentes des clés API classiques.
Contrairement à l'utilisation habituelle des clés API, les clés API pour les services Firebase ne sont pas utilisées pour contrôler l'accès aux ressources de backend. Cela ne peut être fait qu'avec Firebase Security Rules (pour contrôler les utilisateurs finaux qui peuvent accéder aux ressources) et Firebase App Check (pour contrôler les applications qui peuvent accéder aux ressources).
En règle générale, vous devez protéger soigneusement les clés API (par exemple, en utilisant un service de coffre-fort ou en définissant les clés comme variables d'environnement). Toutefois, vous pouvez inclure les clés API pour les services Firebase dans le code ou dans les fichiers de configuration enregistrés.
Un projet Firebase peut comporter plusieurs clés API, mais chaque clé API ne peut être associée qu'à un seul projet Firebase.
Firebase crée automatiquement des clés API pour votre projet lorsque vous effectuez l'une des opérations suivantes :
Créer un projet Firebase > Browser key créé automatiquement
Créer une application Apple Firebase > iOS key créée automatiquement
Créer une application Android Firebase > Android key créée automatiquement
Vous pouvez également créer vos propres clés API dans la console Google Cloud, par exemple pour le développement ou le débogage. Vous en saurez plus sur les cas où cette option peut être recommandée plus loin sur cette page.
Trouver vos clés API
Vous pouvez afficher et gérer toutes les clés API de votre projet dans le panneau API et services > Identifiants de la console Google Cloud.
Applications Apple Firebase : recherchez la clé API associée automatiquement dans le fichier de configuration Firebase, GoogleService-Info.plist, dans le champ API_KEY.
Applications Android Firebase : recherchez la clé API associée automatiquement dans le fichier de configuration Firebase, google-services.json, dans le champ current_key.
Applications Web Firebase : recherchez la clé API associée automatiquement dans l'objet de configuration Firebase, dans le champ apiKey.
Utiliser une clé API
Les clés API permettent d'identifier votre projet Firebase lorsque vous interagissez avec les services Firebase/Google. Plus précisément, elles permettent d'associer des requêtes API à votre projet pour les quotas et la facturation. Elles sont également utiles pour accéder aux données publiques.
Par exemple, vous pouvez utiliser explicitement une clé API en transmettant sa valeur dans un appel d'API REST en tant que paramètre de requête. L'exemple suivant montre comment envoyer une requête à l'API de raccourcisseur de liens Dynamic Links :
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
Lorsque votre application appelle une API Firebase qui nécessite une clé API fournie par le client mobile/Web, elle recherche automatiquement la clé API de votre projet dans le fichier/l'objet de configuration Firebase. Vous pouvez toutefois fournir des clés API pour votre application à l'aide d'un autre mécanisme, y compris des variables d'environnement.
Examiner et appliquer les restrictions appropriées aux clés API (recommandé)
Bien qu'il ne soit pas nécessaire de traiter une clé API pour les services Firebase comme un secret, vous devez examiner et appliquer les restrictions et les limites décrites dans cette section.
Examiner les API automatiquement ajoutées à la liste d'autorisation pour vos clés API Firebase
Lorsque Firebase crée une clé API dans votre projet, nous ajoutons automatiquement des restrictions d'API à cette clé. Les API ajoutées à cette liste d'autorisation sont des API liées à Firebase qui exigent que le client fournisse une clé API avec l'appel. Notez que la plupart des API requises pour l'utilisation des services Firebase n'ont pas besoin d'être ajoutées à la liste d'autorisation de vos clés API.
Étant donné que Firebase ajoute les API nécessaires pour tous les services Firebase, la liste d'autorisation d'une clé API peut inclure des API pour des produits que vous n'utilisez pas.
Vous pouvez supprimer des API de la liste d'autorisation, mais vous devez faire très attention à ne pas supprimer les API requises pour Firebase et les services Firebase que vous utilisez (consultez la liste des API liées à Firebase qui doivent figurer dans la liste d'autorisation pour chaque service / produit). Sinon, vous obtiendrez des erreurs lorsque vous appellerez les services Firebase.
Renforcer le quota si vous utilisez l'authentification par mot de passe Authentication
Si vous utilisez Firebase Authentication basé sur un mot de passe et que quelqu'un s'empare de votre clé API, il ne pourra pas accéder aux données de la base de données ou Cloud Storage de votre projet Firebase tant que ces données sont protégées par Firebase Security Rules. Toutefois, il pourrait utiliser votre clé API pour accéder aux points de terminaison d'authentification de Firebase et envoyer des requêtes d'authentification à votre projet.
Pour éviter qu'une personne n'utilise une clé API de manière abusive pour tenter une attaque par force brute, vous pouvez réduire le quota par défaut des points de terminaison identitytoolkit.googleapis.com afin de refléter les attentes normales de trafic de votre application. Sachez que si vous réduisez ce quota et que votre application gagne soudainement des utilisateurs, vous risquez de rencontrer des erreurs de connexion jusqu'à ce que vous augmentiez le quota.
Vous pouvez modifier les quotas d'API de votre projet dans la console Google Cloud.
Utiliser des clés API distinctes et limitées pour tout service autre que Firebase
Bien que les clés API utilisées pour les services Firebase n'aient généralement pas besoin d'être traitées comme des secrets, vous devez prendre des précautions supplémentaires avec les clés API que vous utilisez avec d'autres API Google Cloud.
Si vous utilisez une API Google Cloud (sur n'importe quelle plate-forme) qui n'est pas destinée à un service ou produit Firebase, nous vous recommandons vivement de créer des clés API distinctes et restreintes pour l'utiliser avec ces API. Cela est particulièrement important si l'API concerne un service Google Cloud facturable.
Par exemple, si vous utilisez Firebase ML et les API Cloud Vision sur iOS, vous devez créer des clés API distinctes que vous n'utiliserez que pour accéder aux API Cloud Vision.
En utilisant des clés API distinctes et restreintes pour les API non Firebase, vous pouvez les faire tourner ou les remplacer si nécessaire, et ajouter des restrictions supplémentaires aux clés API sans perturber votre utilisation des services Firebase.
Afficher les instructions pour créer des clés spécifiques à l'API
Ces instructions expliquent comment créer une clé API distincte et restreinte pour une API fictive appelée Super Service API.
Étape 1 : Configurez vos clés API existantes pour interdire l'accès à Super Service API
Ouvrez la page Identifiants de la console Google Cloud. Lorsque vous y êtes invité, sélectionnez votre projet.
Pour chaque clé API existante dans la liste, ouvrez la vue d'édition.
Dans la section Restrictions relatives aux API, sélectionnez Restreindre la clé, puis ajoutez à la liste toutes les API auxquelles vous souhaitez que la clé API ait accès. Veillez à ne pas inclure l'API pour laquelle vous créez une clé API distincte (Super Service API dans cet exemple).
Lorsque vous configurez les restrictions d'API d'une clé API, vous déclarez explicitement les API auxquelles la clé a accès. Par défaut, lorsqu'il est sélectionné dans la section Restrictions relatives aux API, l'option Ne pas restreindre la clé permet d'utiliser une clé API pour accéder à n'importe quelle API activée pour le projet.
Vos clés API existantes ne vous donneront plus accès à Super Service API, mais elles continueront de fonctionner pour toutes les API que vous avez ajoutées à leur liste de restrictions d'API.
Étape 2 : Créez et utilisez une clé API pour accéder à Super Service API
Revenez à la page Identifiants. Assurez-vous que votre projet Firebase est toujours sélectionné.
Cliquez sur Créer des identifiants > Clé API. Notez la nouvelle clé API, puis cliquez sur Restreindre la clé.
Dans la section Restrictions relatives aux API, sélectionnez Restreindre la clé, puis ajoutez Super Service API à la liste uniquement.
Cette nouvelle clé API n'autorise l'accès qu'à Super Service API.
Configurez votre application et vos services pour utiliser la nouvelle clé API.
Utiliser des clés API spécifiques à l'environnement (recommandé)
Si vous configurez différents projets Firebase pour différents environnements, tels que la préproduction et la production, il est important que chaque instance d'application interagisse avec le projet Firebase correspondant. Par exemple, l'instance de votre application de préproduction ne doit jamais communiquer avec votre projet Firebase de production. Cela signifie également que votre application de préproduction doit utiliser les clés API associées à votre projet Firebase de préproduction.
Pour réduire les problèmes liés à la promotion des modifications de code du développement à la préproduction, puis à la production, au lieu d'inclure les clés API dans le code lui-même, définissez-les comme variables d'environnement ou incluez-les dans un fichier de configuration.
Notez que si vous utilisez Firebase Local Emulator Suite pour le développement avec Firebase ML, vous devez créer et utiliser une clé API de débogage uniquement. Pour savoir comment créer ce type de clé, consultez la documentation Firebase ML.
Questions fréquentes et dépannage
Questions fréquentes
Les clés API pour les services Firebase sont-elles restreintes par défaut ?
Oui. Par défaut, toutes les clés API que Firebase provisionne automatiquement pour être utilisées avec les API liées à Firebase sont automatiquement soumises à des restrictions d'API. Consultez la liste des API liées à Firebase qui figurent dans cette liste d'autorisation.
Les API ajoutées à cette liste d'autorisation sont celles appelées par les services Firebase à partir du code client et nécessitent des clés API pour identifier votre projet ou application Firebase. Notez que la plupart des API requises pour l'utilisation des services Firebase n'ont pas besoin d'être ajoutées à la liste d'autorisation de vos clés API.
Étant donné que Firebase ajoute les API nécessaires pour tous les services Firebase, la liste d'autorisation d'une clé API peut inclure des API pour des produits que vous n'utilisez pas. Vous pouvez supprimer des API de la liste d'autorisation, mais vous devez faire très attention à ne pas supprimer les API requises pour Firebase et les services Firebase que vous utilisez (consultez la liste des API liées à Firebase qui doivent figurer dans la liste d'autorisation pour chaque service / produit). Sinon, vous obtiendrez des erreurs lorsque vous appellerez les services Firebase.
Vous pouvez afficher toutes vos clés API et leurs "restrictions d'API " dans le panneau API et services > Identifiants de la console Google Cloud.
Notez les points suivants concernant la façon dont Firebase applique ces "restrictions d'API" :
À partir de mai 2024, toutes les nouvelles clés API provisionnées automatiquement par Firebase seront automatiquement limitées à la liste des API liées à Firebase.
En mai 2024, toutes les clés API sans restriction existantes que Firebase avait provisionnées automatiquement ont été limitées à la liste des API liées à Firebaseainsi qu'à toutes les API actuellement activées du projet.
Les clés API existantes et déjà restreintes que Firebase avait provisionnées automatiquement n'ont pas été modifiées.
Les clés API existantes qui n'ont pas été provisionnées automatiquement par Firebase n'ont pas été modifiées.
Comment déterminer quelle clé API est associée à mon application Firebase ?
Vous pouvez utiliser l'une des options suivantes pour déterminer quelle clé API est associée à votre application Firebase :
Console Firebase
Accédez à settings > Paramètres du projet, puis faites défiler la page jusqu'à la fiche Vos applications.
Sélectionnez l'application qui vous intéresse.
Obtenez le fichier/objet de configuration Firebase pour l'application qui vous intéresse, puis recherchez sa clé API :
Apple : téléchargez GoogleService-Info.plist, puis recherchez le champ API_KEY.
Android : téléchargez google-services.json, recherchez la configuration de l'application qui vous intéresse (recherchez son nom de package), puis recherchez le champ current_key.
Web : sélectionnez l'option Config, puis recherchez le champ apiKey.
CLI Firebase
Obtenez le fichier/objet de configuration Firebase pour l'application qui vous intéresse en exécutant la commande suivante :
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (l'une des valeurs suivantes) : IOS | ANDROID | WEB
FIREBASE_APP_ID : identifiant unique attribué par Firebase à votre application Firebase (trouver votre ID d'application)
Dans la configuration Firebase imprimée de l'application, recherchez sa clé API :
Apple : recherchez le champ API_KEY.
Android : recherchez la configuration de l'application qui vous intéresse (recherchez son nom de package), puis recherchez le champ current_key.
Web : recherchez le champ apiKey.
API REST
Obtenez le apiKeyId (UID) de la clé API en appelant le point de terminaison applicable pour l'application qui vous intéresse, puis transmettez la valeur apiKeyId à l'étape suivante.
Ce keyString est la même valeur que celle que vous trouverez dans l'artefact de configuration de l'application (Apple | Android | Web).
Puis-je avoir deux clés API listées pour la même application Firebase dans mon fichier/objet de configuration Firebase ?
Applications Apple Firebase : chaque application possède son propre fichier de configuration et ne peut comporter qu'une seule clé API.
Applications Android Firebase : toutes les applications Android du projet Firebase sont listées dans le même fichier de configuration, et chaque application ne peut avoir qu'une seule clé API listée. Toutefois, chaque application de ce fichier de configuration peut avoir une clé différente.
Applications Web Firebase : chaque application possède son propre objet de configuration et ne peut comporter qu'une seule clé API.
Toutefois, vous pouvez utiliser plusieurs clés API avec une même application. Vous devez fournir un mécanisme permettant à votre application d'accéder à ces autres clés API, par exemple via une variable d'environnement. Le mécanisme d'accès aux autres clés API ne peut pas dépendre de la présence de ces clés API dans votre fichier/objet de configuration Firebase.
Comment Firebase sait-il quelle clé API associer à une application (comme dans le fichier/objet de configuration Firebase) ?
Si Firebase ne trouve aucune clé restreinte correspondante, il l'indiquera dans le fichier/objet de configuration : iOS key pour les applications Apple, Android key pour les applications Android et Browser key pour les applications Web (en supposant que ces clés existent et qu'elles ne sont pas associées à des "restrictions d'application" qui les empêchent de correspondre à cette application).
Puis-je supprimer manuellement la clé et le champ API de mon fichier/objet de configuration Firebase ?
Oui, vous pouvez supprimer manuellement votre clé API de votre fichier/objet de configuration. Toutefois, vous devez fournir un autre mécanisme permettant à votre application d'accéder à une clé API (par exemple, via une variable d'environnement). Sinon, tous les appels aux services Firebase échoueront.
Puis-je modifier manuellement mon fichier/objet de configuration Firebase avec différentes clés API ?
Oui, vous pouvez modifier manuellement un fichier ou un objet de configuration pour associer une autre clé API à une application.
Puis-je déplacer une clé API d'un projet Firebase vers un autre ?
Non, une clé API n'identifie qu'un projet spécifique et ne peut pas être déplacée vers un autre projet.
Que se passe-t-il si je supprime une clé API listée dans la console Google Cloud ?
Si vous supprimez une clé API utilisée par une application, les appels d'API de cette application échoueront. Il est possible que vous receviez des rapports, des e-mails ou des messages d'erreur indiquant que vous essayez d'utiliser une clé API non valide.
La suppression d'une clé API est définitive et irréversible.
Quelles API sont requises dans la liste d'autorisation "Restrictions d'API" pour une clé API Firebase ?
Pour une clé API Firebase, les seules API qui doivent figurer dans la liste d'autorisation des "restrictions d'API" de la clé sont celles qui exigent que le client fournisse une clé API avec l'appel. Notez que très peu d'API liées à Firebase ont cette exigence. La plupart des API liées à Firebase activées dans votre projet n'ont pas besoin de figurer dans la liste d'autorisation "Restrictions d'API" de la clé.
Utilisez le tableau suivant pour déterminer les API liées à Firebase qui doivent être incluses dans la liste d'autorisation "Restrictions relatives aux API" pour une clé API Firebase. N'oubliez pas que les clés API Firebase ne doivent être utilisées que pour les services Firebase. Découvrez comment créer des clés API restreintes distinctes pour des types d'API spécifiques.
Vous pouvez afficher et gérer les clés API de votre projet dans le panneau API et services > Identifiants de la console Google Cloud.
* Obligatoire uniquement si vous utilisez la clé API Firebase avec des outils tiers ou un accès REST direct au service / produit Firebase.
** Obligatoire pour les versions antérieures du SDK du produit. Si vous utilisez la dernière version du SDK, l'API n'a pas besoin de figurer sur la liste d'autorisation de la clé.
Dépannage
Comment corriger une erreur API_KEY_SERVICE_BLOCKED ou 403 (accès refusé) indiquant que les requêtes adressées à cette API sont bloquées ?
Suivez les conseils de ces questions fréquentes si vous recevez une erreur API_KEY_SERVICE_BLOCKED ou une erreur semblable à celle-ci :
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
La clé API utilisée par votre application pour appeler l'API est probablement soumise à des restrictions d'API, et la liste d'autorisation de la clé n'inclut pas cette API.
Si cette erreur s'affiche lorsque vous essayez d'utiliser un service non Firebase, nous vous recommandons vivement de créer une clé API spécifiquement pour ce service et cette API. Les clés API Firebase ne doivent être utilisées que pour les services et produits Firebase.
Découvrez comment créer des clés API restreintes distinctes pour des types d'API spécifiques.
Comment résoudre cette erreur ? "Échec de la récupération de l'ID de mesure de cette application Firebase à partir du serveur."
Il est probable que la clé API utilisée par votre application Web soit soumise à des restrictions d'API. Si tel est le cas, assurez-vous que l'API Firebase Management figure dans la liste des API autorisées.
J'ai reçu un e-mail ou un message d'erreur indiquant que ma clé API n'est pas valide. Que s'est-il passé et comment résoudre ce problème ?
Voici quelques-unes des causes les plus fréquentes d'invalidité des clés API :
Des restrictions de clé API ont été appliquées à la clé API, ce qui l'empêche de correspondre à l'application qui tente de l'utiliser ("Restrictions liées aux applications") ou de fonctionner pour l'API appelée ("Restrictions d'API").
La clé API a été supprimée du projet dans la console Google Cloud.
La clé API n'a pas été créée pour l'ID de projet indiqué dans le fichier/objet de configuration Firebase de l'application.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/06 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/06 (UTC)."],[],[],null,[]]