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 qui permet d'acheminer les requêtes vers votre
lors de l'interaction avec Firebase et les services Google. Cette page décrit
des informations de base sur les clés API, ainsi que les bonnes pratiques d'utilisation et
et gérer les clés API 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 des services Firebase ne sont pas utilisées pour contrôler l'accès aux ressources backend. Cela ne peut être fait qu'avec Firebase Security Rules (pour contrôler les utilisateurs finaux pouvant accéder aux ressources) et Firebase App Check (pour contrôler les applications pouvant accéder aux ressources).
En règle générale, vous devez protéger rapidement les clés API (par exemple,
à l'aide d'un service Vault 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 la configuration enregistrée
.
Vous pouvez afficher et gérer toutes les clés API de votre projet dans le
API et Services > Identifiants
dans la console Google Cloud.
Vous pouvez également voir quelle clé API est automatiquement associée à une
l'application Firebase aux emplacements suivants. Par
par défaut, toutes les applications Firebase de votre projet pour la même plate-forme (Apple ou
Android ou Web) utiliseront la même clé API.
Applications Apple Firebase : recherchez la clé API associée automatiquement dans Firebase
GoogleService-Info.plist, dans le fichier
API_KEY.
Applications Android Firebase : recherchez la clé API associée automatiquement dans le
fichier de configuration Firebase, google-services.json, dans
current_key.
Applications Web Firebase : recherchez la clé API associée automatiquement dans Firebase
"config", dans le champ apiKey.
Utiliser une clé API
Les clés API permettent d'identifier votre projet Firebase lors de l'interaction avec
Services Firebase/Google. Plus précisément, ils sont utilisés pour associer les requêtes API
avec 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. Cet exemple montre comment effectuer une requête
vers
API Dynamic Links Link Shortener:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
Lorsque votre application appelle une API Firebase qui nécessite une clé API
par le client mobile/Web, votre application recherche automatiquement
Fichier/objet de configuration Firebase pour la clé API de votre projet. Vous pouvez toutefois
fournir des clés API pour votre application à l'aide d'un mécanisme différent, y compris en ce qui concerne l'environnement
variables.
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.
Examinez les API ajoutées automatiquement à la liste d'autorisation pour vos clés API Firebase
Lorsque Firebase crée une clé API dans votre projet, nous ajoutons automatiquement
"Restrictions relatives aux API"
à cette clé. Les API ajoutées à cette liste d'autorisation sont des API liées à Firebase qui
exiger que le client fournisse une clé API avec l'appel. Notez que la plupart des
Les API requises pour utiliser les services Firebase n'ont pas besoin de se trouver sur le
pour vos clés API.
Étant donné que Firebase ajoute les API nécessaires à 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 veiller à ne pas
supprimer les API requises pour Firebase et les services Firebase que vous utilisez ;
(consultez les
liste des API associées à Firebase
qui doivent figurer sur la liste d'autorisation de chaque service / produit). Sinon, vous
des erreurs s'afficheront lors des appels vers les services Firebase.
Augmenter le quota si vous utilisez des Authentication avec mot de passe
Si vous utilisez des Firebase Authentication basés sur un mot de passe et que quelqu'un obtient l'accès à votre API
il ne pourra pas accéder à la base de données de votre projet Firebase
ou Cloud Storageà condition qu'elles soient protégées par
Firebase Security Rules. Il peut toutefois utiliser votre clé API pour accéder
les points de terminaison d'authentification de Firebase et envoyer des requêtes d'authentification
votre projet.
Afin de limiter le risque qu'une personne fasse un usage abusif d'une clé API pour
une attaque par force brute, vous pouvez
resserrer le quota par défaut du
identitytoolkit.googleapis.com points de terminaison pour refléter le trafic normal
les attentes vis-à-vis de votre application. Sachez que si vous augmentez ce quota et que votre application
augmente 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 le
Console Google Cloud.
Utilisez des clés API distinctes et restreintes pour tous les services en dehors de Firebase
Bien que les clés API utilisées pour les services Firebase n'aient généralement pas besoin d'être traitées
secrètes, 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 conçue pour Firebase
service ou produit, nous vous recommandons vivement de créer des clés API distinctes et restreintes
pour les utiliser avec ces API. Ceci est particulièrement important si l'API est destinée
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 restreintes distinctes pour les API en dehors de Firebase, vous pouvez alterner ou
remplacez les clés si nécessaire et ajoutez des restrictions supplémentaires à l'API.
clés
sans interrompre votre utilisation des services Firebase.
Afficher les instructions pour créer des clés spécifiques à l'API
Ces instructions décrivent comment créer une clé API restreinte et distincte pour un
API faux appelée Super Service API.
Étape 1 : Configurez vos clés API existantes pour refuser 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 de modification.
Dans la section Restrictions relatives à l'API, sélectionnez Restreindre la clé, puis ajoutez
Répertoriez toutes les API auxquelles vous souhaitez que la clé API ait accès. Assurez-vous que
pour ne pas inclure l'API pour laquelle vous créez une clé API distincte.
(dans cet exemple, Super Service API).
Lorsque vous configurez les restrictions d'API d'une clé API, vous êtes explicitement
en déclarant les API auxquelles la clé a accès. Par défaut, lorsque le
Dans la section Restrictions relatives aux API, l'option Ne pas restreindre la clé est sélectionnée, et il s'agit d'une clé API.
peuvent être utilisés pour accéder à n'importe quelle API activée pour le projet.
Vos clés API existantes n'accorderont pas l'accès à Super Service API, mais
chaque clé continuera de fonctionner pour toutes les API que vous avez ajoutées à son
Liste des 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 à l'API, sélectionnez Restreindre la clé, puis ajoutez
lister uniquementSuper Service API.
Cette nouvelle clé API n'accorde l'accès qu'à Super Service API.
Configurez votre application et vos services pour qu'ils utilisent 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, par exemple
de préproduction et de production, il est important que chaque instance d'application interagit avec ses
projet Firebase correspondant. Ainsi, l'instance d'application de préproduction doit
ne communiquera jamais avec votre projet Firebase de production. Cela signifie également que
L'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 du code, du développement à la préproduction
production, au lieu d'inclure les clés API dans le code lui-même, vous pouvez soit les définir
des variables d'environnement ou les inclure 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 réservée au débogage. 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 sont-elles
pour les services Firebase restreints par défaut ?
Oui, par défaut, toutes les clés API que Firebase provisionne automatiquement pour une utilisation avec
Les API associées à Firebase comportent
"Restrictions relatives aux API"
automatiquement. Consultez le
Liste des API associées à Firebase
figurant sur 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 qui nécessitent des clés API pour identifier votre projet ou application Firebase. Notez que la plupart des API requises pour utiliser les services Firebase n'ont pas besoin d'être ajoutées à la liste d'autorisation pour vos clés API.
Étant donné que Firebase ajoute les API nécessaires pour tous les services Firebase,
d'une clé API peut inclure des API pour des produits que vous n'utilisez pas. Toi
peuvent supprimer des API de la liste d'autorisation, mais veillez à ne pas supprimer
les API requises pour Firebase et les services Firebase que vous utilisez (consultez les
liste des API associées à Firebase
qui doivent figurer sur la liste d'autorisation de chaque service / produit). Sinon, vous
des erreurs s'afficheront lors des appels vers les services Firebase.
Vous pouvez afficher toutes vos clés API et leurs "restrictions d'API" dans
API et Services > Identifiants
dans 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
Liste des API associées à Firebase
En mai 2024, toutes les clés API existantes et sans restriction dont Firebase disposait
précédemment provisionnés automatiquement sont limités
liste des API associées à Firebaseplus toute API actuellement activée dans le projet.
Les clés API existantes et déjà limitées que Firebase avait précédemment 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'étaient pas
modifié.
Comment déterminer la clé API ?
est associé à 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éder à settingsParamètres du projet
puis faites défiler l'écran vers le bas jusqu'à la fiche Vos applications.
Sélectionnez l'application qui vous intéresse.
Obtenir le fichier ou l'objet de configuration Firebase correspondant à l'application qui vous intéresse, puis
sa clé API:
Pomme: téléchargez GoogleService-Info.plist, puis recherchez la
Champ API_KEY
Android: téléchargez google-services.json et recherchez la configuration pour
l'application qui vous intéresse (recherchez le nom de son package), puis recherchez
Champ current_key
Web: sélectionnez l'option Config, puis recherchez le champ apiKey.
CLI Firebase
Obtenez le fichier ou l'objet de configuration Firebase pour l'application qui vous intéresse en exécutant
la commande suivante:
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
nom du package), puis recherchez le champ current_key.
Web : recherchez le champ apiKey.
API REST
Obtenez l'identifiant apiKeyId (UID) de la clé API en appelant la méthode
le point de terminaison applicable à l'application concernée, puis la transmission
apiKeyId à l'étape suivante.
Ce keyString est la même valeur que celle qui se trouve dans le
artefact de configuration
(Apple |
Android |
Web).
Puis-je
avoir deux clés API listées pour la même application Firebase dans ma configuration Firebase
fichier/objet ?
Applications Apple Firebase : chaque application possède son propre fichier de configuration et ne peut avoir que
une clé API listée.
Applications Android Firebase : toutes les applications Android du projet Firebase sont
dans le même fichier de configuration et que chaque application ne peut avoir qu'une seule clé API
dans la liste. Chaque application de ce fichier de configuration
peut avoir une clé différente,
par contre.
Applications Web Firebase : chaque application dispose 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 indiquer un
mécanisme permettant à votre application d'accéder à ces autres clés API, par exemple via un environnement
. Le mécanisme d'accès aux autres clés API ne peut tout simplement pas dépendre de ces
Clés API répertoriées dans votre fichier/objet de configuration Firebase.
Comment Firebase
de savoir quelle clé API mettre en correspondance avec une application (comme dans la configuration Firebase
fichier/objet) ?
Si Firebase ne trouve aucune clé restreinte correspondante, il figure dans
Le fichier/objet de configuration iOS key pour les applications Apple, le Android key pour
les applications Android et le Browser key pour les applications Web (en supposant que ces clés existent
et qui n'ont pas de "restrictions d'application" qui les empêchent de correspondre
application).
Puis-je supprimer manuellement la clé API et le champ de mon fichier/objet de configuration Firebase ?
Oui, vous pouvez supprimer manuellement votre clé API dans votre fichier de configuration ou votre objet. 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.
avec une application.
Puis-je déplacer un
clé API d'un projet Firebase à un autre ?
Non, une clé API identifie uniquement un projet spécifique et ne peut pas être déplacée vers un autre
projet.
Que se passe-t-il si je
supprimer une clé API répertorié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 se peut que vous receviez des rapports, des e-mails ou des erreurs que vous essayez d'utiliser.
une clé API non valide.
La suppression d'une clé API est définitive et irréversible.
Quel
Les API sont requises dans la section "Restrictions relatives aux API" d'une clé API Firebase ?
Dans le cas d'une clé API Firebase, les seules API devant se trouver sur le
"Restrictions relatives aux API" liste d'autorisation sont les API qui nécessitent que le client fournisse
avec l'appel. Notez que très peu d'API liées à Firebase présentent cette exigence. La plupart des API liées à Firebase activées dans votre projet n'ont pas besoin d'être ajoutées à la liste d'autorisation "Restrictions API" de la clé.
Le tableau suivant vous permet d'identifier les API associées à Firebase qui doivent être
incluses dans la section "Restrictions relatives aux API" d'une clé API Firebase. N'oubliez pas :
Les clés API Firebase ne doivent être utilisées que pour les services Firebase. En savoir plus sur
création
des clés API distinctes et restreintes pour des types d'API spécifiques.
Vous pouvez afficher et gérer les clés API de votre projet dans la
API et Services > Identifiants
dans 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 d'être sur le
liste d'autorisation.
Dépannage
Comment
corriger une erreur API_KEY_SERVICE_BLOCKED ou "Forbidden 403" qui indique
que les requêtes adressées à cette API soient bloquées ?
Suivez les instructions de cette FAQ si une erreur API_KEY_SERVICE_BLOCKED ou une erreur semblable à celle-ci s'affiche :
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
"Restrictions relatives aux API"
et que la liste d'autorisation
de la clé n'inclut pas cette API.
Si cette erreur se produit lorsque vous essayez d'utiliser un service autre que Firebase,
nous vous recommandons vivement de créer une clé API spécifique
API. Les clés API Firebase ne doivent être utilisées que pour les services / produits Firebase.
En savoir plus sur la création
des clés API distinctes et restreintes pour des types d'API spécifiques.
Comment
corriger cette erreur ? "Échec de la récupération de l'ID de mesure de cette application Firebase sur le serveur."
La clé API utilisée par votre application Web est probablement associée à des restrictions API. Dans ce 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 raisons les plus courantes pour lesquelles des clés API sont invalides :
La clé API contient
"Restrictions liées aux clés API"
qui lui sont appliquées et qui la rendent incohérente avec l'application qui tente d'utiliser la clé
("Restrictions relatives aux applications") ou inutilisable pour l'API appelée
Restrictions").
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
Fichier/objet de configuration Firebase.
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 2024/09/12 (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 2024/09/12 (UTC)."],[],[]]