Pourquoi ce message s'affiche-t-il ?
Cette erreur se produit lorsque nous détectons qu'un autre projet Firebase ou Google Cloud contient un ID client OAuth 2.0 avec le nom de package et le certificat SHA-1 que vous avez spécifiés. Lorsque vous ajoutez Firebase à une application Android dans la console Firebase, nous essayons de générer un ID client OAuth 2.0 pour votre application. Cet ID est utilisé pour authentifier votre application avec certaines API Google, comme App Invites ou l'API Drive. Pour des raisons de sécurité, chaque combinaison nom de package/empreinte numérique SHA-1 utilisée pour créer un ID client OAuth 2.0 doit être unique pour tous les projets Firebase et Google Cloud.
Quel est l'impact sur mon application ?
Il existe actuellement deux fonctionnalités Firebase pour lesquelles il est nécessaire de configurer le nom de package et le certificat SHA-1 de vos applications Android :
- Invites : ne fonctionne pas si aucun certificat SHA-1 n'est fourni. Il n'existe actuellement aucune façon d'utiliser le certificat SHA-1 d'un autre projet.
- Authentication : pour utiliser Google comme fournisseur d'authentification, vous devez ajouter manuellement à la liste blanche l'ID client de votre projet existant dans la configuration de Sign-In.
Que puis-je faire ?
Si vous n'utilisez pas Firebase Invites ni Google comme fournisseur de connexion à Firebase par authentification, vous n'avez rien à faire. Si vous utilisez l'une de ces fonctionnalités, choisissez ci-dessous la situation correspondant le mieux à votre cas :
Je sais quel projet Google Cloud contient l'ID client OAuth 2.0 en conflit, et ça m'est égal de supprimer mon projet Firebase ou je dois utiliser Firebase Invites.Si vous venez de créer ce projet ou d'ajouter Firebase à votre application, la méthode la plus simple est de supprimer votre projet et d'importer votre projet Google existant. Pour ce faire, procédez comme suit :
- Supprimez votre projet Firebase. Cette action est définitive et entraîne la suppression de toutes les données associées à votre projet.
- Accédez à la console Firebase.
- Cliquez sur Importer un projet Google.
- Sélectionnez le projet existant contenant l'ID client OAuth 2.0, puis cliquez sur Ajouter Firebase.
Si vous ne pouvez pas importer votre projet existant et si vous ne comptez pas utiliser Invites, vous pouvez ajouter manuellement votre ID client OAuth 2.0 existant à la liste blanche pour utiliser Google comme fournisseur de connexion.
Tout d'abord, recherchez l'ID client OAuth 2.0 de votre projet existant. Pour ce faire, procédez comme suit :
- Accédez à la page "Identifiants" de la console Google Cloud. Si le projet contenant l'ID client OAuth 2.0 ne s'ouvre pas automatiquement, sélectionnez-le dans le menu déroulant situé dans l'angle supérieur droit de la page.
- Dans la rubrique ID clients OAuth 2.0, localisez le nom du client contenant le certificat SHA-1 et le nom de package que vous avez utilisés pour votre projet Firebase. Si vous ne savez pas quel nom de client est le bon, cliquez dessus pour afficher les détails.
- Après avoir identifié le nom de client en question, copiez-le intégralement dans la colonne "ID client".
Ensuite, ajoutez l'ID client à la liste blanche pour utiliser Google en tant que fournisseur de connexion. Pour ce faire, procédez comme suit :
- Accédez à la console Firebase, puis sélectionnez votre projet.
- Dans le menu situé à gauche, sélectionnez Auth.
- Sélectionnez l'onglet Mode de connexion.
- Sur la page Mode de connexion, cliquez sur Google dans la carte Fournisseurs de connexion.
- Développez l'option Ajouter à la liste blanche les ID clients de projets externes.
- Collez votre ID client de la console Google Cloud dans la zone de texte, puis cliquez sur Ajouter.
Si vous ne savez pas quel projet contient l'ID client OAuth 2.0 en conflit, suivez les étapes ci-dessous pour essayer de le localiser :
- Accédez à la page "Identifiants" de la console Google Cloud.
- Dans la rubrique ID clients OAuth 2.0, cliquez sur le nom du client afin d'afficher le certificat SHA-1 et le nom de package utilisés pour créer l'ID client. Répétez cette opération jusqu'à ce que vous ayez trouvé le bon nom de client ou que vous ayez essayé tous les clients.
Si aucun nom de client ne contient le certificat SHA-1 et le nom de package correspondants, sélectionnez un autre projet dans le menu déroulant situé dans l'angle supérieur droit de la page, puis répétez la procédure ci-dessus.
Dans certains cas, le client OAuth 2.0 peut être situé dans un projet dont vous n'êtes pas propriétaire. Si vous ne trouvez pas le projet en conflit, contactez l'équipe d'assistance Firebase et fournissez-lui le nom du package ainsi que l'empreinte numérique SHA-1 en conflit.